
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

bfd_boolean process_symbol_table(Filedata *filedata)

{
  bfd_vma *pbVar1;
  byte bVar2;
  ushort uVar3;
  Elf_Internal_Shdr *pEVar4;
  double dVar5;
  int iVar6;
  bfd_boolean bVar7;
  long lVar8;
  size_t sVar9;
  elf_vma eVar10;
  void *pvVar11;
  ulong *puVar12;
  ulong *puVar13;
  long *__ptr;
  ulong uVar14;
  ulong *puVar15;
  long *plVar16;
  uchar auVar17 [8];
  char *pcVar18;
  Filedata *pFVar19;
  bfd_vma *__ptr_00;
  ulong uVar20;
  ulong uVar21;
  ulong uVar22;
  uint uVar23;
  Elf_Internal_Sym *psym;
  uint uVar24;
  bfd_vma bVar25;
  char *pcVar26;
  ulong uVar27;
  bfd_size_type strtab_size;
  uint uVar28;
  Filedata *filedata_1;
  bool bVar29;
  char *local_f0;
  double local_e0;
  Elf_Internal_Sym *local_c0;
  bfd_vma local_b0;
  ulong *local_a8;
  bfd_vma local_a0;
  bfd_vma local_98;
  bfd_vma *local_80;
  elf_vma local_78;
  elf_vma local_70;
  bfd_vma *local_68;
  ushort vna_other;
  uchar nb [8];
  uchar nc [8];
  uchar local_40 [16];
  
  if (do_dyn_syms == 0 && do_syms == 0) {
    if (do_histogram != 0) {
      local_98 = dynamic_info[4];
      if (dynamic_info[4] != 0) goto LAB_00124120;
      local_b0 = dynamic_info_DT_GNU_HASH;
      if (dynamic_info_DT_GNU_HASH == 0) {
        local_98 = dynamic_info_DT_GNU_HASH;
        __ptr_00 = (bfd_vma *)0x0;
        local_a8 = (ulong *)0x0;
        goto LAB_00123920;
      }
      __ptr_00 = (bfd_vma *)0x0;
      local_b0 = 0;
      local_a8 = (ulong *)0x0;
      local_a0 = dynamic_info_DT_GNU_HASH;
LAB_001231f2:
      dynamic_info_DT_GNU_HASH = local_a0;
      lVar8 = offset_from_vma(filedata,local_a0,0x10);
      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);
      pcVar26 = "Unable to seek to start of dynamic information\n";
      if (iVar6 == 0) {
        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);
        if (sVar9 != 1) {
          pcVar26 = "Failed to read in number of buckets\n";
          goto LAB_00124393;
        }
        local_78 = (*byte_get)(nc,4);
        local_70 = (*byte_get)(nc + 4,4);
        eVar10 = (*byte_get)(local_40,4);
        if (is_32bit_elf == 0) {
          lVar8 = eVar10 * 8;
        }
        else {
          lVar8 = eVar10 * 4;
        }
        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;
        lVar8 = offset_from_vma(filedata,bVar25,4);
        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);
        if (iVar6 != 0) {
          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);
          error(pcVar26);
          local_78 = 0;
          local_80 = (bfd_vma *)0x0;
          goto LAB_001243c5;
        }
        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78
                                    ,(Filedata *)0x4);
        if (local_80 == (bfd_vma *)0x0) {
LAB_0012478c:
          local_78 = 0;
          goto LAB_001243c5;
        }
        if (local_78 == 0) goto LAB_001243c5;
        uVar20 = 0xffffffff;
        local_a0 = 0;
        do {
          uVar27 = local_80[local_a0];
          if (uVar27 != 0) {
            if (uVar27 < local_70) goto LAB_00124278;
            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {
              uVar20 = uVar27;
            }
          }
          local_a0 = local_a0 + 1;
        } while (local_78 != local_a0);
        if (uVar20 == 0xffffffff) goto LAB_0012478c;
        local_78 = uVar20 - local_70;
        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);
        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);
        if (iVar6 != 0) {
LAB_001248c8:
          pcVar26 = "Unable to seek to start of dynamic information\n";
LAB_0012340c:
          pcVar26 = (char *)dcgettext(0,pcVar26,5);
          error(pcVar26);
          local_78 = 0;
          goto LAB_001243c5;
        }
        do {
          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);
          if (sVar9 != 1) {
            pcVar26 = "Failed to determine last chain length\n";
            goto LAB_0012340c;
          }
          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;
          local_78 = local_78 + 1;
          eVar10 = (*byte_get)(nc,4);
        } while ((eVar10 & 1) == 0);
        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);
        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);
        if (iVar6 != 0) goto LAB_001248c8;
        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78
                                    ,(Filedata *)0x4);
        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;
      }
      else {
LAB_00124393:
        pcVar26 = (char *)dcgettext(0,pcVar26,5);
        error(pcVar26);
        local_78 = 0;
        local_70 = 0;
        local_80 = (bfd_vma *)0x0;
LAB_001243c5:
        free(local_80);
        if (do_using_dynamic != 0) goto LAB_00124278;
        local_68 = (bfd_vma *)0x0;
        local_80 = (bfd_vma *)0x0;
        local_a0 = 0;
      }
      if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;
LAB_0012395b:
      if (do_dyn_syms != 0) goto LAB_00123c50;
      if (do_syms == 0) goto LAB_00123620;
      if (do_using_dynamic == 0) {
LAB_001242fe:
        filedata_1 = (Filedata *)filedata->section_headers;
        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;
      }
LAB_00123987:
      pcVar26 = (char *)dcgettext(0,
                                  "\nDynamic symbol information is not available for displaying symbols.\n"
                                  ,5);
      printf(pcVar26);
      if (do_histogram != 0) goto LAB_0012362e;
LAB_001239b8:
      if (local_a8 != (ulong *)0x0) {
LAB_001239c4:
        bVar7 = do_histogram;
        free(local_a8);
        free(__ptr_00);
LAB_001239d6:
        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {
          pcVar26 = (char *)dcngettext(0,
                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"
                                       ,
                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"
                                       ,local_a0,5);
          printf(pcVar26,local_a0);
          __ptr = (long *)calloc(local_a0,8);
          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";
          if (__ptr == (long *)0x0) goto LAB_00124267;
          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);
          printf(pcVar26);
          if (local_a0 == 0) {
            puVar15 = (ulong *)calloc(1,8);
            if (puVar15 == (ulong *)0x0) goto LAB_00124253;
          }
          else {
            uVar27 = 0;
            uVar20 = 0;
            sVar9 = 0;
            do {
              while (bVar25 = local_80[sVar9], bVar25 != 0) {
                if (bVar25 - local_70 < local_78) {
                  uVar21 = local_68[bVar25 - local_70];
                  uVar22 = (ulong)((uint)uVar21 & 1);
                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;
                  uVar22 = (local_70 - bVar25) + local_78 + 1;
                  uVar21 = 1;
                  do {
                    uVar14 = uVar21 + 1;
                    if (uVar14 == uVar22) goto LAB_00123ae4;
                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;
                    uVar21 = uVar14;
                  } while ((*puVar15 & 1) == 0);
                  __ptr[sVar9] = uVar14;
                  if (uVar20 < uVar14) {
                    uVar20 = uVar14;
                  }
                }
                else {
                  uVar22 = 1;
LAB_00123ae4:
                  __ptr[sVar9] = uVar22;
                  uVar14 = uVar22;
                  if (uVar20 < uVar22) {
                    uVar20 = uVar22;
                  }
                }
                uVar27 = uVar27 + uVar14;
                sVar9 = sVar9 + 1;
                if (sVar9 == local_a0) goto LAB_00123afb;
              }
              sVar9 = sVar9 + 1;
            } while (sVar9 != local_a0);
LAB_00123afb:
            puVar15 = (ulong *)calloc(uVar20 + 1,8);
            if (puVar15 == (ulong *)0x0) {
LAB_00124253:
              free(__ptr);
              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";
              goto LAB_00124267;
            }
            plVar16 = __ptr;
            do {
              lVar8 = *plVar16;
              plVar16 = plVar16 + 1;
              puVar15[lVar8] = puVar15[lVar8] + 1;
              dVar5 = ram0x0017c6b0;
            } while (__ptr + local_a0 != plVar16);
            printf("      0  %-10lu (%5.1f%%)\n",
                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);
            if (uVar20 != 0) {
              local_e0 = (double)uVar27;
              uVar22 = 0;
              uVar27 = 1;
              do {
                uVar22 = uVar22 + puVar15[uVar27] * uVar27;
                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",
                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,
                       ((double)uVar22 * dVar5) / local_e0,uVar27);
                bVar29 = uVar20 != uVar27;
                uVar27 = uVar27 + 1;
              } while (bVar29);
            }
          }
          free(puVar15);
          free(__ptr);
          free(local_80);
          free(local_68);
        }
      }
    }
    bVar7 = 1;
  }
  else {
    local_98 = dynamic_info[4];
    if (dynamic_info[4] == 0) {
      local_b0 = 0;
      __ptr_00 = (bfd_vma *)0x0;
      local_a8 = (ulong *)0x0;
LAB_001234aa:
      local_a0 = dynamic_info_DT_GNU_HASH;
      if (dynamic_info_DT_GNU_HASH == 0) {
LAB_00123920:
        if (dynamic_info[4] == 0) {
          local_78 = 0;
          local_70 = 0;
          local_68 = (bfd_vma *)0x0;
          local_80 = (bfd_vma *)0x0;
          local_a0 = 0;
          goto LAB_0012395b;
        }
      }
      else {
        if (do_histogram != 0) goto LAB_001231f2;
        if (do_using_dynamic != 0) goto LAB_001234e0;
      }
LAB_001234ff:
      local_78 = 0;
      local_70 = 0;
      local_68 = (bfd_vma *)0x0;
      local_80 = (bfd_vma *)0x0;
      local_a0 = 0;
LAB_001235c8:
      if (do_syms == 0) goto LAB_0012395b;
      if (do_using_dynamic != 0) {
        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {
          if (do_dyn_syms != 0) goto LAB_00123c50;
          goto LAB_00123987;
        }
        if (dynamic_info[4] != 0) {
          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);
          printf(pcVar26);
          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";
          if (is_32bit_elf == 0) {
            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";
          }
          pcVar26 = (char *)dcgettext(0,pcVar26,5);
          printf(pcVar26);
          pvVar11 = xcmalloc(local_b0,1);
          uVar20 = 0;
          memset(pvVar11,0,local_b0);
          if (local_98 != 0) {
            do {
              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {
                print_dynamic_symbol(filedata,bVar25,uVar20);
                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {
                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);
                  error(pcVar26);
                  break;
                }
                *(char *)((long)pvVar11 + bVar25) = '\x01';
              }
              uVar20 = uVar20 + 1;
            } while (local_98 != uVar20);
          }
          free(pvVar11);
        }
        if (dynamic_info_DT_GNU_HASH != 0) {
          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);
          printf(pcVar26);
          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";
          if (is_32bit_elf == 0) {
            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";
          }
          uVar20 = 0;
          pcVar26 = (char *)dcgettext(0,pcVar26,5);
          printf(pcVar26);
          if (local_a0 != 0) {
            do {
              if (local_80[uVar20] != 0) {
                uVar27 = local_80[uVar20] - local_70;
                do {
                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);
                  if (local_78 <= uVar27) break;
                  pbVar1 = local_68 + uVar27;
                  uVar27 = uVar27 + 1;
                } while ((*pbVar1 & 1) == 0);
              }
              uVar20 = uVar20 + 1;
            } while (uVar20 != local_a0);
          }
        }
        goto LAB_00123620;
      }
      if (do_dyn_syms == 0) goto LAB_001242fe;
LAB_00123c50:
      filedata_1 = (Filedata *)filedata->section_headers;
      if (filedata_1 == (Filedata *)0x0) {
        if (do_syms != 0) goto LAB_00123987;
      }
      else {
LAB_00123c5d:
        if ((filedata->file_header).e_shnum != 0) {
          uVar23 = 0;
          do {
            iVar6 = *(int *)((long)&filedata_1->file_name + 4);
            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {
              uVar20 = (filedata_1->file_header).e_shoff;
              if (uVar20 == 0) {
                pcVar26 = printable_section_name
                                    ((Filedata *)&filedata->string_table,
                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)
                ;
                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)
                ;
                printf(pcVar18,pcVar26);
              }
              else {
                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);
                nc = auVar17;
                pcVar26 = printable_section_name
                                    ((Filedata *)&filedata->string_table,
                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)
                ;
                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",
                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);
                printf(pcVar18,pcVar26,auVar17);
                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";
                if (is_32bit_elf == 0) {
                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";
                }
                pcVar26 = (char *)dcgettext(0,pcVar26,5);
                printf(pcVar26);
                if (is_32bit_elf == 0) {
                  local_c0 = get_64bit_elf_symbols
                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);
                }
                else {
                  local_c0 = get_32bit_elf_symbols
                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);
                }
                if (local_c0 != (Elf_Internal_Sym *)0x0) {
                  uVar24 = (uint)(filedata_1->file_header).e_entry;
                  if (uVar24 == (filedata->file_header).e_shstrndx) {
                    local_f0 = filedata->string_table;
                    strtab_size = filedata->string_table_length;
                  }
                  else {
                    local_f0 = (char *)0x0;
                    strtab_size = 0;
                    if (uVar24 < (filedata->file_header).e_shnum) {
                      pEVar4 = filedata->section_headers;
                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);
                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,
                                                  (ulong)&filedata->file_size,
                                                  pEVar4[uVar24].sh_offset,1,
                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);
                      if (local_f0 != (char *)0x0) {
                        strtab_size = pEVar4[uVar24].sh_size;
                      }
                    }
                  }
                  if (nc != (uchar  [8])0x0) {
                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);
                    auVar17[0] = '\0';
                    auVar17[1] = '\0';
                    auVar17[2] = '\0';
                    auVar17[3] = '\0';
                    auVar17[4] = '\0';
                    auVar17[5] = '\0';
                    auVar17[6] = '\0';
                    auVar17[7] = '\0';
                    psym = (Elf_Internal_Sym *)&local_c0->st_name;
                    do {
                      uVar24 = auVar17._0_4_;
                      printf("%6d: ",auVar17);
                      print_vma(psym[-1].st_name,LONG_HEX);
                      putc(0x20,stdout);
                      bVar25._0_1_ = psym[-1].st_info;
                      bVar25._1_1_ = psym[-1].st_other;
                      bVar25._2_1_ = psym[-1].st_target_internal;
                      bVar25._3_1_ = psym[-1].field_0x1b;
                      bVar25._4_4_ = psym[-1].st_shndx;
                      print_vma(bVar25,DEC_5);
                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,
                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));
                      printf(" %-7s",pcVar26);
                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));
                      printf(" %-6s",pcVar26);
                      if ((filedata->file_header).e_ident[7] == '\x06') {
                        pcVar26 = get_solaris_symbol_visibility
                                            ((uint)*(byte *)((long)&psym->st_size + 1));
                        printf(" %-7s",pcVar26);
                      }
                      else {
                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;
                        pcVar26 = get_symbol_visibility(uVar28);
                        printf(" %-7s",pcVar26);
                        bVar2 = *(byte *)((long)&psym->st_size + 1);
                        if (bVar2 != (byte)uVar28) {
                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);
                          printf(" [%s] ",pcVar26);
                        }
                      }
                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));
                      printf(" %4s ",pcVar26);
                      if (psym->st_value < strtab_size) {
                        pcVar26 = local_f0 + psym->st_value;
                      }
                      else {
                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);
                      }
                      print_symbol(L'\x19',pcVar26);
                      pcVar26 = get_symbol_version_string
                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4
                                                                   ) == 0xb),local_f0,strtab_size,
                                           uVar24,psym,
                                           (versioned_symbol_info *)((long)&psym->st_size + 4),
                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);
                      if (pcVar26 != (char *)0x0) {
                        if (nb._0_4_ == 0) {
                          printf("@%s (%d)",pcVar26,(ulong)vna_other);
                        }
                        else {
                          pcVar18 = "@@%s";
                          if (nb._0_4_ == 1) {
                            pcVar18 = "@%s";
                          }
                          printf(pcVar18,pcVar26);
                        }
                      }
                      putc(10,stdout);
                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&
                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),
                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&
                         ((filedata->file_header).e_ident[7] != '\x06')) {
                        pcVar26 = printable_section_name
                                            ((Filedata *)&filedata->string_table,
                                             (Elf_Internal_Shdr *)&filedata->string_table_length,
                                             filedata_1);
                        pcVar18 = (char *)dcgettext(0,
                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"
                                                  ,5);
                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);
                      }
                      auVar17._0_4_ = uVar24 + 1;
                      auVar17[4] = '\0';
                      auVar17[5] = '\0';
                      auVar17[6] = '\0';
                      auVar17[7] = '\0';
                      psym = psym + 1;
                    } while ((ulong)auVar17 < (ulong)nc);
                  }
                  free(local_c0);
                  if (filedata->string_table != local_f0) {
                    free(local_f0);
                  }
                }
              }
            }
            uVar23 = uVar23 + 1;
            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;
          } while (uVar23 < (filedata->file_header).e_shnum);
        }
      }
LAB_00123620:
      if (do_histogram == 0) goto LAB_001239b8;
LAB_0012362e:
      bVar7 = do_histogram;
      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;
      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",
                                   "\nHistogram for bucket list length (total of %lu buckets):\n",
                                   local_98,5);
      printf(pcVar26,local_98);
      puVar15 = (ulong *)calloc(local_98,8);
      pcVar26 = "Out of memory allocating space for histogram buckets\n";
      if (puVar15 != (ulong *)0x0) {
        pvVar11 = xcmalloc(local_b0,1);
        memset(pvVar11,0,local_b0);
        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);
        printf(pcVar26);
        if (local_98 == 0) {
          free(pvVar11);
          puVar12 = (ulong *)calloc(1,8);
          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;
        }
        else {
          uVar20 = 0;
          uVar27 = 0;
          puVar12 = local_a8;
          puVar13 = puVar15;
          do {
            uVar22 = *puVar12;
            sVar9 = uVar27 + 1;
            if (uVar22 != 0) {
              uVar21 = *puVar13;
              lVar8 = uVar20 - uVar21;
              do {
                uVar21 = uVar21 + 1;
                uVar20 = lVar8 + uVar21;
                sVar9 = uVar27 + 1;
                if (uVar27 < uVar21) {
                  sVar9 = uVar27 + 2;
                  uVar27 = uVar27 + 1;
                }
                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {
                  *puVar13 = uVar21;
                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);
                  error(pcVar26);
                  goto LAB_001237a1;
                }
                *(char *)((long)pvVar11 + uVar22) = '\x01';
                uVar22 = __ptr_00[uVar22];
              } while (uVar22 != 0);
              *puVar13 = uVar21;
            }
LAB_001237a1:
            puVar12 = puVar12 + 1;
            puVar13 = puVar13 + 1;
          } while (local_a8 + local_98 != puVar12);
          free(pvVar11);
          puVar12 = (ulong *)calloc(sVar9,8);
          if (puVar12 == (ulong *)0x0) {
LAB_001247f5:
            free(puVar15);
            pcVar26 = "Out of memory allocating space for histogram counts\n";
            goto LAB_00124267;
          }
          puVar13 = puVar15;
          do {
            uVar22 = *puVar13;
            puVar13 = puVar13 + 1;
            puVar12[uVar22] = puVar12[uVar22] + 1;
            dVar5 = ram0x0017c6b0;
          } while (puVar15 + local_98 != puVar13);
          printf("      0  %-10lu (%5.1f%%)\n",
                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);
          if (uVar27 != 0) {
            local_e0 = (double)uVar20;
            uVar22 = 0;
            uVar20 = 1;
            do {
              uVar22 = uVar22 + puVar12[uVar20] * uVar20;
              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",
                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,
                     ((double)uVar22 * dVar5) / local_e0,uVar20);
              bVar29 = uVar27 != uVar20;
              uVar20 = uVar20 + 1;
            } while (bVar29);
          }
        }
        free(puVar12);
        free(puVar15);
        goto LAB_001239c4;
      }
LAB_00124267:
      pcVar26 = (char *)dcgettext(0,pcVar26,5);
      error(pcVar26);
    }
    else {
      if (do_histogram == 0) {
        if (do_using_dynamic != 0) {
          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;
          local_a0 = dynamic_info_DT_GNU_HASH;
          if (dynamic_info_DT_GNU_HASH == 0) {
            local_b0 = 0;
            goto LAB_0012359b;
          }
          local_a8 = (ulong *)0x0;
          __ptr_00 = (bfd_vma *)0x0;
          local_98 = 0;
          local_b0 = 0;
LAB_001234e0:
          dynamic_info_DT_GNU_HASH = local_a0;
          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;
          goto LAB_001234ff;
        }
        local_b0 = dynamic_info_DT_GNU_HASH;
        if (dynamic_info_DT_GNU_HASH != 0) {
          local_a8 = (ulong *)0x0;
          __ptr_00 = (bfd_vma *)0x0;
          local_98 = 0;
          local_b0 = 0;
          goto LAB_001234ff;
        }
        local_a0 = 0;
LAB_0012359b:
        local_70 = 0;
        local_78 = 0;
        local_98 = 0;
        __ptr_00 = (bfd_vma *)0x0;
        local_68 = (bfd_vma *)0x0;
        local_80 = (bfd_vma *)0x0;
        local_a8 = (ulong *)0x0;
        goto LAB_001235c8;
      }
LAB_00124120:
      uVar3 = (filedata->file_header).e_machine;
      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {
        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;
      }
      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);
      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);
      pcVar26 = "Unable to seek to start of dynamic information\n";
      if (iVar6 == 0) {
        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);
        if (sVar9 != 1) {
          pcVar26 = "Failed to read in number of buckets\n";
          goto LAB_001241ba;
        }
        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);
        pcVar26 = "Failed to read in number of chains\n";
        if (sVar9 != 1) goto LAB_001241ba;
        local_98 = (*byte_get)(nb,uVar23);
        local_b0 = (*byte_get)(nc,uVar23);
        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98
                                    ,(Filedata *)(ulong)uVar23);
        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0
                                    ,(Filedata *)(ulong)uVar23);
        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;
      }
      else {
LAB_001241ba:
        __ptr_00 = (bfd_vma *)0x0;
        pcVar26 = (char *)dcgettext(0,pcVar26,5);
        error(pcVar26);
        local_a8 = (bfd_vma *)0x0;
      }
      if (do_using_dynamic == 0) {
        free(local_a8);
        free(__ptr_00);
        local_a8 = (ulong *)0x0;
        local_b0 = 0;
        local_98 = 0;
        __ptr_00 = (bfd_vma *)0x0;
        goto LAB_001234aa;
      }
    }
LAB_00124278:
    bVar7 = 0;
  }
  return bVar7;
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined8 FUN_00123170(long param_1)

{
  short sVar1;
  uint uVar2;
  double dVar3;
  int iVar4;
  long lVar5;
  size_t sVar6;
  long lVar7;
  undefined8 uVar8;
  void *pvVar9;
  ulong *puVar10;
  ulong *puVar11;
  long *__ptr;
  ulong uVar12;
  ulong *puVar13;
  long *plVar14;
  undefined8 uVar15;
  void *__ptr_00;
  ulong uVar16;
  ulong uVar17;
  ulong uVar18;
  uint uVar19;
  char *pcVar20;
  ulong uVar21;
  byte bVar22;
  bool bVar23;
  void *local_f0;
  double local_e0;
  void *local_c0;
  size_t local_b0;
  ulong *local_a8;
  size_t local_a0;
  size_t local_98;
  void *local_80;
  size_t local_78;
  ulong local_70;
  void *local_68;
  ushort local_52;
  int local_50 [2];
  undefined8 local_48;
  undefined1 local_40 [16];
  
  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {
    if (DAT_00193470 != 0) {
      local_98 = DAT_00193580;
      if (DAT_00193580 != 0) goto LAB_00124120;
      local_b0 = DAT_00193540;
      if (DAT_00193540 == 0) {
        local_98 = DAT_00193540;
        __ptr_00 = (void *)0x0;
        local_a8 = (ulong *)0x0;
        goto LAB_00123920;
      }
      __ptr_00 = (void *)0x0;
      local_b0 = 0;
      local_a8 = (ulong *)0x0;
      local_a0 = DAT_00193540;
LAB_001231f2:
      DAT_00193540 = local_a0;
      lVar5 = FUN_00119da0(param_1,local_a0,0x10);
      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);
      pcVar20 = "Unable to seek to start of dynamic information\n";
      if (iVar4 == 0) {
        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));
        if (sVar6 != 1) {
          pcVar20 = "Failed to read in number of buckets\n";
          goto LAB_00124393;
        }
        local_78 = (*DAT_00196f88)(&local_48,4);
        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);
        lVar5 = (*DAT_00196f88)(local_40,4);
        if (DAT_0019345c == 0) {
          lVar5 = lVar5 * 8;
        }
        else {
          lVar5 = lVar5 * 4;
        }
        lVar5 = DAT_00193540 + 0x10 + lVar5;
        lVar7 = FUN_00119da0(param_1,lVar5,4);
        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);
        if (iVar4 != 0) {
          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);
          error(uVar8);
          local_78 = 0;
          local_80 = (void *)0x0;
          goto LAB_001243c5;
        }
        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);
        if (local_80 == (void *)0x0) {
LAB_0012478c:
          local_78 = 0;
          goto LAB_001243c5;
        }
        if (local_78 == 0) goto LAB_001243c5;
        uVar16 = 0xffffffff;
        local_a0 = 0;
        do {
          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);
          if (uVar21 != 0) {
            if (uVar21 < local_70) goto LAB_00124278;
            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {
              uVar16 = uVar21;
            }
          }
          local_a0 = local_a0 + 1;
        } while (local_78 != local_a0);
        if (uVar16 == 0xffffffff) goto LAB_0012478c;
        local_78 = uVar16 - local_70;
        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);
        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);
        if (iVar4 != 0) {
LAB_001248c8:
          pcVar20 = "Unable to seek to start of dynamic information\n";
LAB_0012340c:
          uVar8 = dcgettext(0,pcVar20,5);
          error(uVar8);
          local_78 = 0;
          goto LAB_001243c5;
        }
        do {
          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));
          if (sVar6 != 1) {
            pcVar20 = "Failed to determine last chain length\n";
            goto LAB_0012340c;
          }
          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;
          local_78 = local_78 + 1;
          uVar16 = (*DAT_00196f88)(&local_48,4);
        } while ((uVar16 & 1) == 0);
        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);
        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);
        if (iVar4 != 0) goto LAB_001248c8;
        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);
        if (local_68 == (void *)0x0) goto LAB_001243c5;
      }
      else {
LAB_00124393:
        uVar8 = dcgettext(0,pcVar20,5);
        error(uVar8);
        local_78 = 0;
        local_70 = 0;
        local_80 = (void *)0x0;
LAB_001243c5:
        free(local_80);
        if (DAT_00193480 != 0) goto LAB_00124278;
        local_68 = (void *)0x0;
        local_80 = (void *)0x0;
        local_a0 = 0;
      }
      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;
LAB_0012395b:
      if (DAT_0019349c != 0) goto LAB_00123c50;
      if (DAT_001934a0 == 0) goto LAB_00123620;
      if (DAT_00193480 == 0) {
LAB_001242fe:
        lVar5 = *(long *)(param_1 + 0x70);
        if (lVar5 != 0) goto LAB_00123c5d;
      }
LAB_00123987:
      pcVar20 = (char *)dcgettext(0,
                                  "\nDynamic symbol information is not available for displaying symbols.\n"
                                  ,5);
      printf(pcVar20);
      if (DAT_00193470 != 0) goto LAB_0012362e;
LAB_001239b8:
      if (local_a8 != (ulong *)0x0) {
LAB_001239c4:
        iVar4 = DAT_00193470;
        free(local_a8);
        free(__ptr_00);
LAB_001239d6:
        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {
          pcVar20 = (char *)dcngettext(0,
                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"
                                       ,
                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"
                                       ,local_a0,5);
          printf(pcVar20,local_a0);
          __ptr = (long *)calloc(local_a0,8);
          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";
          if (__ptr == (long *)0x0) goto LAB_00124267;
          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);
          printf(pcVar20);
          if (local_a0 == 0) {
            puVar13 = (ulong *)calloc(1,8);
            if (puVar13 == (ulong *)0x0) goto LAB_00124253;
          }
          else {
            uVar21 = 0;
            uVar16 = 0;
            sVar6 = 0;
            do {
              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {
                if (lVar5 - local_70 < local_78) {
                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);
                  uVar17 = *puVar13;
                  uVar18 = (ulong)((uint)uVar17 & 1);
                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;
                  uVar18 = (local_70 - lVar5) + local_78 + 1;
                  uVar17 = 1;
                  do {
                    uVar12 = uVar17 + 1;
                    if (uVar12 == uVar18) goto LAB_00123ae4;
                    puVar10 = puVar13 + uVar17;
                    uVar17 = uVar12;
                  } while ((*puVar10 & 1) == 0);
                  __ptr[sVar6] = uVar12;
                  if (uVar16 < uVar12) {
                    uVar16 = uVar12;
                  }
                }
                else {
                  uVar18 = 1;
LAB_00123ae4:
                  __ptr[sVar6] = uVar18;
                  uVar12 = uVar18;
                  if (uVar16 < uVar18) {
                    uVar16 = uVar18;
                  }
                }
                uVar21 = uVar21 + uVar12;
                sVar6 = sVar6 + 1;
                if (sVar6 == local_a0) goto LAB_00123afb;
              }
              sVar6 = sVar6 + 1;
            } while (sVar6 != local_a0);
LAB_00123afb:
            puVar13 = (ulong *)calloc(uVar16 + 1,8);
            if (puVar13 == (ulong *)0x0) {
LAB_00124253:
              free(__ptr);
              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";
              goto LAB_00124267;
            }
            plVar14 = __ptr;
            do {
              lVar5 = *plVar14;
              plVar14 = plVar14 + 1;
              puVar13[lVar5] = puVar13[lVar5] + 1;
              dVar3 = ram0x0017c6b0;
            } while (__ptr + local_a0 != plVar14);
            printf("      0  %-10lu (%5.1f%%)\n",
                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);
            if (uVar16 != 0) {
              local_e0 = (double)uVar21;
              uVar18 = 0;
              uVar21 = 1;
              do {
                uVar18 = uVar18 + puVar13[uVar21] * uVar21;
                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",
                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,
                       ((double)uVar18 * dVar3) / local_e0,uVar21);
                bVar23 = uVar16 != uVar21;
                uVar21 = uVar21 + 1;
              } while (bVar23);
            }
          }
          free(puVar13);
          free(__ptr);
          free(local_80);
          free(local_68);
        }
      }
    }
    uVar8 = 1;
  }
  else {
    local_98 = DAT_00193580;
    if (DAT_00193580 == 0) {
      local_b0 = 0;
      __ptr_00 = (void *)0x0;
      local_a8 = (ulong *)0x0;
LAB_001234aa:
      local_a0 = DAT_00193540;
      if (DAT_00193540 == 0) {
LAB_00123920:
        if (DAT_00193580 == 0) {
          local_78 = 0;
          local_70 = 0;
          local_68 = (void *)0x0;
          local_80 = (void *)0x0;
          local_a0 = 0;
          goto LAB_0012395b;
        }
      }
      else {
        if (DAT_00193470 != 0) goto LAB_001231f2;
        if (DAT_00193480 != 0) goto LAB_001234e0;
      }
LAB_001234ff:
      local_78 = 0;
      local_70 = 0;
      local_68 = (void *)0x0;
      local_80 = (void *)0x0;
      local_a0 = 0;
LAB_001235c8:
      if (DAT_001934a0 == 0) goto LAB_0012395b;
      if (DAT_00193480 != 0) {
        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {
          if (DAT_0019349c != 0) goto LAB_00123c50;
          goto LAB_00123987;
        }
        if (DAT_00193580 != 0) {
          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);
          printf(pcVar20);
          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";
          if (DAT_0019345c == 0) {
            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";
          }
          pcVar20 = (char *)dcgettext(0,pcVar20,5);
          printf(pcVar20);
          pvVar9 = (void *)FUN_0014c850(local_b0);
          sVar6 = 0;
          memset(pvVar9,0,local_b0);
          if (local_98 != 0) {
            do {
              for (uVar16 = local_a8[sVar6]; uVar16 != 0;
                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {
                FUN_00122f40(param_1,uVar16,sVar6);
                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {
                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);
                  error(uVar8);
                  break;
                }
                *(char *)((long)pvVar9 + uVar16) = '\x01';
              }
              sVar6 = sVar6 + 1;
            } while (local_98 != sVar6);
          }
          free(pvVar9);
        }
        if (DAT_00193540 != 0) {
          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);
          printf(pcVar20);
          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";
          if (DAT_0019345c == 0) {
            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";
          }
          sVar6 = 0;
          pcVar20 = (char *)dcgettext(0,pcVar20,5);
          printf(pcVar20);
          if (local_a0 != 0) {
            do {
              lVar5 = *(long *)((long)local_80 + sVar6 * 8);
              if (lVar5 != 0) {
                uVar16 = lVar5 - local_70;
                do {
                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);
                  if (local_78 <= uVar16) break;
                  uVar16 = uVar16 + 1;
                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);
              }
              sVar6 = sVar6 + 1;
            } while (sVar6 != local_a0);
          }
        }
        goto LAB_00123620;
      }
      if (DAT_0019349c == 0) goto LAB_001242fe;
LAB_00123c50:
      lVar5 = *(long *)(param_1 + 0x70);
      if (lVar5 == 0) {
        if (DAT_001934a0 != 0) goto LAB_00123987;
      }
      else {
LAB_00123c5d:
        if (*(int *)(param_1 + 100) != 0) {
          uVar19 = 0;
          do {
            iVar4 = *(int *)(lVar5 + 4);
            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {
              if (*(ulong *)(lVar5 + 0x38) == 0) {
                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);
                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)
                ;
                printf(pcVar20,uVar8);
              }
              else {
                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);
                local_48 = uVar16;
                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);
                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",
                                             "\nSymbol table \'%s\' contains %lu entries:\n",
                                             local_48,5);
                printf(pcVar20,uVar8,uVar16);
                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";
                if (DAT_0019345c == 0) {
                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";
                }
                pcVar20 = (char *)dcgettext(0,pcVar20,5);
                printf(pcVar20);
                if (DAT_0019345c == 0) {
                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);
                }
                else {
                  local_c0 = (void *)FUN_001149b0();
                }
                if (local_c0 != (void *)0x0) {
                  uVar2 = *(uint *)(lVar5 + 0x28);
                  if (uVar2 == *(uint *)(param_1 + 0x68)) {
                    local_f0 = *(void **)(param_1 + 0x80);
                    uVar16 = *(ulong *)(param_1 + 0x88);
                  }
                  else {
                    local_f0 = (void *)0x0;
                    uVar16 = 0;
                    if (uVar2 < *(uint *)(param_1 + 100)) {
                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);
                      uVar8 = dcgettext(0,"string table",5);
                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,
                                                      *(undefined8 *)(lVar7 + 0x18),1,
                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);
                      if (local_f0 != (void *)0x0) {
                        uVar16 = *(ulong *)(lVar7 + 0x20);
                      }
                    }
                  }
                  if (local_48 != 0) {
                    uVar21 = 0;
                    puVar13 = (ulong *)((long)local_c0 + 0x10);
                    do {
                      printf("%6d: ",uVar21);
                      FUN_001116b0(puVar13[-2],6);
                      putc(0x20,stdout);
                      FUN_001116b0(puVar13[-1],2);
                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);
                      printf(" %-7s",uVar8);
                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);
                      printf(" %-6s",uVar8);
                      if (*(char *)(param_1 + 0x1f) == '\x06') {
                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));
                        printf(" %-7s",uVar8);
                      }
                      else {
                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;
                        uVar8 = FUN_001141e0(bVar22);
                        printf(" %-7s",uVar8);
                        if (*(byte *)((long)puVar13 + 9) != bVar22) {
                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);
                          printf(" [%s] ",uVar8);
                        }
                      }
                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));
                      printf(" %4s ",uVar8);
                      if (*puVar13 < uVar16) {
                        lVar7 = *puVar13 + (long)local_f0;
                      }
                      else {
                        lVar7 = dcgettext(0,"<corrupt>",5);
                      }
                      FUN_001122a0(0x19,lVar7);
                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21
                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);
                      if (lVar7 != 0) {
                        if (local_50[0] == 0) {
                          printf("@%s (%d)",lVar7,(ulong)local_52);
                        }
                        else {
                          pcVar20 = "@@%s";
                          if (local_50[0] == 1) {
                            pcVar20 = "@%s";
                          }
                          printf(pcVar20,lVar7);
                        }
                      }
                      putc(10,stdout);
                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&
                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&
                          (*(short *)(param_1 + 0x52) != 8)) &&
                         (*(char *)(param_1 + 0x1f) != '\x06')) {
                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);
                        uVar15 = dcgettext(0,
                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"
                                           ,5);
                        warn(uVar15,uVar21,uVar8,uVar2);
                      }
                      uVar21 = (ulong)((uint)uVar21 + 1);
                      puVar13 = puVar13 + 4;
                    } while (uVar21 < local_48);
                  }
                  free(local_c0);
                  if (*(void **)(param_1 + 0x80) != local_f0) {
                    free(local_f0);
                  }
                }
              }
            }
            uVar19 = uVar19 + 1;
            lVar5 = lVar5 + 0x50;
          } while (uVar19 < *(uint *)(param_1 + 100));
        }
      }
LAB_00123620:
      if (DAT_00193470 == 0) goto LAB_001239b8;
LAB_0012362e:
      iVar4 = DAT_00193470;
      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;
      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",
                                   "\nHistogram for bucket list length (total of %lu buckets):\n",
                                   local_98,5);
      printf(pcVar20,local_98);
      puVar13 = (ulong *)calloc(local_98,8);
      pcVar20 = "Out of memory allocating space for histogram buckets\n";
      if (puVar13 != (ulong *)0x0) {
        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);
        memset(pvVar9,0,local_b0);
        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);
        printf(pcVar20);
        if (local_98 == 0) {
          free(pvVar9);
          puVar10 = (ulong *)calloc(1,8);
          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;
        }
        else {
          uVar16 = 0;
          uVar21 = 0;
          puVar10 = local_a8;
          puVar11 = puVar13;
          do {
            uVar18 = *puVar10;
            sVar6 = uVar21 + 1;
            if (uVar18 != 0) {
              uVar17 = *puVar11;
              lVar5 = uVar16 - uVar17;
              do {
                uVar17 = uVar17 + 1;
                uVar16 = lVar5 + uVar17;
                sVar6 = uVar21 + 1;
                if (uVar21 < uVar17) {
                  sVar6 = uVar21 + 2;
                  uVar21 = uVar21 + 1;
                }
                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {
                  *puVar11 = uVar17;
                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);
                  error(uVar8);
                  goto LAB_001237a1;
                }
                *(char *)((long)pvVar9 + uVar18) = '\x01';
                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);
              } while (uVar18 != 0);
              *puVar11 = uVar17;
            }
LAB_001237a1:
            puVar10 = puVar10 + 1;
            puVar11 = puVar11 + 1;
          } while (local_a8 + local_98 != puVar10);
          free(pvVar9);
          puVar10 = (ulong *)calloc(sVar6,8);
          if (puVar10 == (ulong *)0x0) {
LAB_001247f5:
            free(puVar13);
            pcVar20 = "Out of memory allocating space for histogram counts\n";
            goto LAB_00124267;
          }
          puVar11 = puVar13;
          do {
            uVar18 = *puVar11;
            puVar11 = puVar11 + 1;
            puVar10[uVar18] = puVar10[uVar18] + 1;
            dVar3 = ram0x0017c6b0;
          } while (puVar13 + local_98 != puVar11);
          printf("      0  %-10lu (%5.1f%%)\n",
                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);
          if (uVar21 != 0) {
            local_e0 = (double)uVar16;
            uVar18 = 0;
            uVar16 = 1;
            do {
              uVar18 = uVar18 + puVar10[uVar16] * uVar16;
              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",
                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,
                     ((double)uVar18 * dVar3) / local_e0,uVar16);
              bVar23 = uVar21 != uVar16;
              uVar16 = uVar16 + 1;
            } while (bVar23);
          }
        }
        free(puVar10);
        free(puVar13);
        goto LAB_001239c4;
      }
LAB_00124267:
      uVar8 = dcgettext(0,pcVar20,5);
      error(uVar8);
    }
    else {
      if (DAT_00193470 == 0) {
        if (DAT_00193480 != 0) {
          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;
          local_a0 = DAT_00193540;
          if (DAT_00193540 == 0) {
            local_b0 = 0;
            goto LAB_0012359b;
          }
          local_a8 = (ulong *)0x0;
          __ptr_00 = (void *)0x0;
          local_98 = 0;
          local_b0 = 0;
LAB_001234e0:
          DAT_00193540 = local_a0;
          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;
          goto LAB_001234ff;
        }
        local_b0 = DAT_00193540;
        if (DAT_00193540 != 0) {
          local_a8 = (ulong *)0x0;
          __ptr_00 = (void *)0x0;
          local_98 = 0;
          local_b0 = 0;
          goto LAB_001234ff;
        }
        local_a0 = 0;
LAB_0012359b:
        local_70 = 0;
        local_78 = 0;
        local_98 = 0;
        __ptr_00 = (void *)0x0;
        local_68 = (void *)0x0;
        local_80 = (void *)0x0;
        local_a8 = (ulong *)0x0;
        goto LAB_001235c8;
      }
LAB_00124120:
      sVar1 = *(short *)(param_1 + 0x52);
      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {
        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;
      }
      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);
      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);
      pcVar20 = "Unable to seek to start of dynamic information\n";
      if (iVar4 == 0) {
        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));
        if (sVar6 != 1) {
          pcVar20 = "Failed to read in number of buckets\n";
          goto LAB_001241ba;
        }
        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));
        pcVar20 = "Failed to read in number of chains\n";
        if (sVar6 != 1) goto LAB_001241ba;
        local_98 = (*DAT_00196f88)(local_50,uVar19,5);
        local_b0 = (*DAT_00196f88)(&local_48,uVar19);
        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19
                                        );
        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)
        ;
        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;
      }
      else {
LAB_001241ba:
        __ptr_00 = (void *)0x0;
        uVar8 = dcgettext(0,pcVar20,5);
        error(uVar8);
        local_a8 = (ulong *)0x0;
      }
      if (DAT_00193480 == 0) {
        free(local_a8);
        free(__ptr_00);
        local_a8 = (ulong *)0x0;
        local_b0 = 0;
        local_98 = 0;
        __ptr_00 = (void *)0x0;
        goto LAB_001234aa;
      }
    }
LAB_00124278:
    uVar8 = 0;
  }
  return uVar8;
}


PUSH R15
MOV R15,RDI
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0xc8
MOV EAX,dword ptr [0x0019349c]
MOV ECX,EAX
OR ECX,dword ptr [0x001934a0]
JNZ 0x00123480
MOV EBX,dword ptr [0x00193470]
TEST EBX,EBX
JZ 0x00123460
MOV RAX,qword ptr [0x00193580]
MOV qword ptr [RSP + 0x60],RAX
MOV RSI,RAX
TEST RAX,RAX
JNZ 0x00124120
MOV RAX,qword ptr [0x00193540]
MOV qword ptr [RSP + 0x48],RAX
TEST RAX,RAX
JZ 0x00123909
MOV RAX,qword ptr [RSP + 0x48]
XOR R12D,R12D
MOV qword ptr [RSP + 0x48],0x0
MOV qword ptr [RSP + 0x50],0x0
MOV qword ptr [RSP + 0x58],RAX
MOV RSI,qword ptr [RSP + 0x58]
MOV EDX,0x10
MOV RDI,R15
CALL 0x00119da0
MOV RDI,qword ptr [R15 + 0x8]
ADD RAX,qword ptr [0x001946b8]
XOR EDX,EDX
MOV RSI,RAX
CALL 0x00107300
MOV EDX,0x5
LEA RSI,[0x171490]
TEST EAX,EAX
JNZ 0x00124393
MOV RCX,qword ptr [R15 + 0x8]
MOV EDX,0x1
MOV ESI,0x10
LEA RBX,[RSP + 0xb0]
MOV RDI,RBX
CALL 0x001070e0
CMP RAX,0x1
JNZ 0x00124387
MOV ESI,0x4
MOV RDI,RBX
CALL qword ptr [0x00196f88]
LEA RDI,[RBX + 0x4]
MOV ESI,0x4
MOV qword ptr [RSP + 0x80],RAX
CALL qword ptr [0x00196f88]
LEA RDI,[RBX + 0x8]
MOV ESI,0x4
MOV qword ptr [RSP + 0x88],RAX
CALL qword ptr [0x00196f88]
MOV RCX,qword ptr [0x00193540]
LEA RDX,[RCX + 0x10]
MOV ECX,dword ptr [0x0019345c]
TEST ECX,ECX
JNZ 0x001244e3
LEA RBP,[RDX + RAX*0x8]
MOV EDX,0x4
MOV RSI,RBP
MOV RDI,R15
CALL 0x00119da0
MOV RDI,qword ptr [R15 + 0x8]
ADD RAX,qword ptr [0x001946b8]
XOR EDX,EDX
MOV RSI,RAX
CALL 0x00107300
TEST EAX,EAX
JNZ 0x00124666
MOV R14,qword ptr [RSP + 0x80]
LEA R13,[R15 + 0x8]
MOV RSI,qword ptr [R15 + 0x10]
MOV ECX,0x4
MOV RDI,R13
MOV RDX,R14
CALL 0x00121f00
MOV RDI,RAX
MOV qword ptr [RSP + 0x78],RAX
TEST RAX,RAX
JZ 0x0012478c
MOV R8,R14
TEST R14,R14
JZ 0x001243c5
MOV EDX,0xffffffff
MOV R9,qword ptr [RSP + 0x88]
XOR EAX,EAX
MOV RCX,RDX
NOP word ptr [RAX + RAX*0x1]
MOV RSI,qword ptr [RDI + RAX*0x8]
TEST RSI,RSI
JZ 0x0012334f
CMP RSI,R9
JC 0x00124278
CMP RSI,RDX
JA 0x0012334c
CMP RDX,RCX
JNZ 0x0012334f
MOV RDX,RSI
ADD RAX,0x1
CMP R8,RAX
JNZ 0x00123330
MOV RCX,RAX
MOV qword ptr [RSP + 0x58],RAX
MOV EAX,0xffffffff
CMP RDX,RAX
JZ 0x0012478c
SUB RDX,qword ptr [RSP + 0x88]
MOV RAX,RCX
MOV RDI,R15
ADD RAX,RDX
MOV qword ptr [RSP + 0x80],RDX
MOV EDX,0x4
LEA RSI,[RBP + RAX*0x4]
CALL 0x00119da0
MOV RDI,qword ptr [R15 + 0x8]
ADD RAX,qword ptr [0x001946b8]
XOR EDX,EDX
MOV RSI,RAX
CALL 0x00107300
MOV R14,qword ptr [RSP + 0x80]
TEST EAX,EAX
JZ 0x001233e4
JMP 0x001248c8
CMP R14,-0x1
JZ 0x0012478c
ADD R14,0x1
MOV ESI,0x4
MOV RDI,RBX
CALL qword ptr [0x00196f88]
TEST AL,0x1
JNZ 0x0012485a
MOV RCX,qword ptr [R15 + 0x8]
MOV EDX,0x1
MOV ESI,0x4
MOV RDI,RBX
CALL 0x001070e0
CMP RAX,0x1
JZ 0x001233c0
MOV EDX,0x5
LEA RSI,[0x171510]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
MOV qword ptr [RSP + 0x80],0x0
JMP 0x001243c5
MOV RDI,R13
CALL 0x00107030
MOV RDI,RBX
CALL 0x00107030
MOV RDI,qword ptr [RSP + 0x78]
CALL 0x00107030
MOV RDI,qword ptr [RSP + 0x90]
CALL 0x00107030
NOP word ptr [RAX + RAX*0x1]
MOV EAX,0x1
ADD RSP,0xc8
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RSI,qword ptr [0x00193580]
MOV qword ptr [RSP + 0x60],RSI
TEST RSI,RSI
JNZ 0x00123540
MOV qword ptr [RSP + 0x48],0x0
XOR R12D,R12D
MOV qword ptr [RSP + 0x50],0x0
MOV RAX,qword ptr [0x00193540]
MOV RSI,qword ptr [0x00193580]
MOV qword ptr [RSP + 0x58],RAX
TEST RAX,RAX
JZ 0x00123920
MOV R8D,dword ptr [0x00193470]
TEST R8D,R8D
JNZ 0x001231f2
MOV EDI,dword ptr [0x00193480]
TEST EDI,EDI
JZ 0x001234ff
MOV ESI,dword ptr [0x0019349c]
TEST ESI,ESI
JNZ 0x001234f8
CMP qword ptr [0x00194690],0x0
JNZ 0x001231f2
MOV RSI,qword ptr [0x00193580]
MOV qword ptr [RSP + 0x80],0x0
MOV qword ptr [RSP + 0x88],0x0
MOV qword ptr [RSP + 0x90],0x0
MOV qword ptr [RSP + 0x78],0x0
MOV qword ptr [RSP + 0x58],0x0
JMP 0x001235c8
MOV R11D,dword ptr [0x00193470]
TEST R11D,R11D
JNZ 0x00124120
MOV R10D,dword ptr [0x00193480]
TEST R10D,R10D
JNZ 0x0012410a
MOV RAX,qword ptr [0x00193540]
MOV qword ptr [RSP + 0x48],RAX
TEST RAX,RAX
JNZ 0x001244c0
MOV qword ptr [RSP + 0x58],0x0
MOV RSI,qword ptr [RSP + 0x60]
MOV qword ptr [RSP + 0x80],0x0
MOV qword ptr [RSP + 0x88],0x0
MOV qword ptr [RSP + 0x60],0x0
XOR R12D,R12D
MOV qword ptr [RSP + 0x90],0x0
MOV qword ptr [RSP + 0x78],0x0
MOV qword ptr [RSP + 0x50],0x0
NOP dword ptr [RAX]
MOV EAX,dword ptr [0x001934a0]
TEST EAX,EAX
JZ 0x0012395b
MOV EAX,dword ptr [0x00193480]
TEST EAX,EAX
JZ 0x001242f0
CMP qword ptr [0x00194690],0x0
JZ 0x00123c42
CMP qword ptr [0x00194678],0x0
JZ 0x00123c42
TEST RSI,RSI
JNZ 0x0012469d
CMP qword ptr [0x00193540],0x0
JNZ 0x00124512
NOP word ptr [RAX + RAX*0x1]
MOV EBX,dword ptr [0x00193470]
TEST EBX,EBX
JZ 0x001239b8
CMP qword ptr [RSP + 0x50],0x0
JZ 0x001239d6
MOV RBX,qword ptr [RSP + 0x60]
LEA RDX,[0x171788]
MOV R8D,0x5
XOR EDI,EDI
LEA RSI,[0x1717c8]
MOV RCX,RBX
CALL 0x00107360
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV ESI,0x8
MOV RDI,RBX
CALL 0x00107250
MOV EDX,0x5
LEA RSI,[0x171808]
MOV qword ptr [RSP + 0x20],RAX
TEST RAX,RAX
JZ 0x00124267
MOV R14,qword ptr [RSP + 0x48]
MOV ESI,0x1
MOV RDI,R14
CALL 0x0014c850
MOV RDX,R14
XOR ESI,ESI
MOV RDI,RAX
MOV R15,RAX
CALL 0x001071f0
MOV EDX,0x5
LEA RSI,[0x171840]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV RAX,qword ptr [RSP + 0x60]
TEST RAX,RAX
JZ 0x001247d2
MOV RBX,qword ptr [RSP + 0x50]
MOV RBP,qword ptr [RSP + 0x20]
XOR R13D,R13D
LEA RAX,[RBX + RAX*0x8]
MOV RCX,RBX
MOV R9,RBP
XOR EBX,EBX
MOV qword ptr [RSP + 0x18],RAX
MOV RBP,R12
MOV R12,R14
NOP word ptr [RAX + RAX*0x1]
MOV RAX,qword ptr [RCX]
LEA R14,[RBX + 0x1]
TEST RAX,RAX
JZ 0x001237a1
MOV RSI,qword ptr [R9]
MOV RDI,R13
LEA RDX,[RSI + 0x1]
SUB RDI,RSI
JMP 0x00123751
LEA RSI,[R15 + RAX*0x1]
CMP byte ptr [RSI],0x0
JNZ 0x0012376d
MOV byte ptr [RSI],0x1
MOV RAX,qword ptr [RBP + RAX*0x8]
LEA RSI,[RDX + 0x1]
TEST RAX,RAX
JZ 0x001242c0
MOV RDX,RSI
LEA R13,[RDI + RDX*0x1]
LEA R14,[RBX + 0x1]
CMP RBX,RDX
JNC 0x00123768
LEA RSI,[RBX + 0x2]
MOV RBX,R14
MOV R14,RSI
CMP R12,RAX
JA 0x00123730
MOV qword ptr [R9],RDX
LEA RSI,[0x169839]
MOV EDX,0x5
XOR EDI,EDI
MOV qword ptr [RSP + 0x10],RCX
MOV qword ptr [RSP + 0x8],R9
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
MOV R9,qword ptr [RSP + 0x8]
MOV RCX,qword ptr [RSP + 0x10]
ADD RCX,0x8
ADD R9,0x8
CMP qword ptr [RSP + 0x18],RCX
JNZ 0x00123708
MOV RDI,R15
MOV R12,RBP
CALL 0x00107030
MOV RDI,R14
MOV ESI,0x8
CALL 0x00107250
MOV R14,RAX
TEST RAX,RAX
JZ 0x001247f5
MOV RCX,qword ptr [RSP + 0x20]
MOV RDX,qword ptr [RSP + 0x60]
MOV RAX,RCX
LEA RCX,[RCX + RDX*0x8]
NOP dword ptr [RAX]
MOV RDX,qword ptr [RAX]
ADD RAX,0x8
ADD qword ptr [R14 + RDX*0x8],0x1
CMP RCX,RAX
JNZ 0x001237f0
PXOR XMM4,XMM4
MOV RSI,qword ptr [R14]
CVTSI2SD XMM4,qword ptr [RSP + 0x60]
MOVSD qword ptr [RSP + 0x10],XMM4
TEST RSI,RSI
JS 0x001245db
PXOR XMM0,XMM0
CVTSI2SD XMM0,RSI
MOVSD XMM3,qword ptr [0x0017c6b0]
LEA RDI,[0x16986a]
MOV EAX,0x1
MULSD XMM0,XMM3
MOVSD qword ptr [RSP + 0x8],XMM3
DIVSD XMM0,qword ptr [RSP + 0x10]
CALL 0x00107190
TEST RBX,RBX
JZ 0x00124649
TEST R13,R13
JS 0x00124810
PXOR XMM4,XMM4
CVTSI2SD XMM4,R13
MOVSD qword ptr [RSP + 0x18],XMM4
MOV R13D,0x1
XOR R15D,R15D
LEA RBP,[0x1718a8]
JMP 0x001238db
PXOR XMM1,XMM1
CVTSI2SD XMM1,R15
MULSD XMM1,qword ptr [RSP + 0x8]
DIVSD XMM1,qword ptr [RSP + 0x18]
TEST RDX,RDX
JS 0x00124600
PXOR XMM0,XMM0
CVTSI2SD XMM0,RDX
MULSD XMM0,qword ptr [RSP + 0x8]
MOV RSI,R13
MOV RDI,RBP
MOV EAX,0x2
DIVSD XMM0,qword ptr [RSP + 0x10]
CALL 0x00107190
LEA RAX,[R13 + 0x1]
CMP RBX,R13
JZ 0x00124649
MOV R13,RAX
MOV RDX,qword ptr [R14 + R13*0x8]
MOV RAX,RDX
IMUL RAX,R13
ADD R15,RAX
JNS 0x00123888
MOV RAX,R15
MOV RCX,R15
PXOR XMM1,XMM1
SHR RAX,0x1
AND ECX,0x1
OR RAX,RCX
CVTSI2SD XMM1,RAX
ADDSD XMM1,XMM1
JMP 0x00123891
MOV qword ptr [RSP + 0x60],RAX
XOR R12D,R12D
MOV qword ptr [RSP + 0x50],0x0
NOP word ptr [RAX + RAX*0x1]
MOV qword ptr [RSP + 0x58],RSI
TEST RSI,RSI
JNZ 0x0012436a
MOV qword ptr [RSP + 0x80],0x0
MOV qword ptr [RSP + 0x88],0x0
MOV qword ptr [RSP + 0x90],0x0
MOV qword ptr [RSP + 0x78],0x0
MOV R13D,dword ptr [0x0019349c]
TEST R13D,R13D
JNZ 0x00123c50
MOV EBP,dword ptr [0x001934a0]
TEST EBP,EBP
JZ 0x00123620
MOV EBX,dword ptr [0x00193480]
TEST EBX,EBX
JZ 0x001242fe
MOV EDX,0x5
LEA RSI,[0x171740]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV EBX,dword ptr [0x00193470]
TEST EBX,EBX
JNZ 0x0012362e
NOP word ptr [RAX + RAX*0x1]
CMP qword ptr [RSP + 0x50],0x0
JZ 0x00123460
MOV RDI,qword ptr [RSP + 0x50]
CALL 0x00107030
MOV RDI,R12
CALL 0x00107030
TEST EBX,EBX
JZ 0x00123460
CMP qword ptr [RSP + 0x78],0x0
JZ 0x00123460
MOV RBX,qword ptr [RSP + 0x58]
LEA RDX,[0x1718d0]
MOV R8D,0x5
XOR EDI,EDI
LEA RSI,[0x171918]
MOV RCX,RBX
CALL 0x00107360
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV ESI,0x8
MOV RDI,RBX
CALL 0x00107250
MOV EDX,0x5
LEA RSI,[0x171960]
MOV RBX,RAX
TEST RAX,RAX
JZ 0x00124267
LEA RSI,[0x171840]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV R8,qword ptr [RSP + 0x58]
TEST R8,R8
JZ 0x00124238
MOV R11,qword ptr [RSP + 0x80]
XOR R12D,R12D
XOR EBP,EBP
XOR ECX,ECX
MOV R13,qword ptr [RSP + 0x90]
MOV R9,qword ptr [RSP + 0x78]
LEA RDI,[R11 + 0x1]
MOV R10,qword ptr [RSP + 0x88]
JMP 0x00123a99
ADD RCX,0x1
CMP RCX,R8
JZ 0x00123afb
MOV RAX,qword ptr [R9 + RCX*0x8]
TEST RAX,RAX
JZ 0x00123a90
MOV RDX,RAX
SUB RDX,R10
CMP RDX,R11
JNC 0x001247c8
LEA RSI,[R13 + RDX*0x8]
MOV RDX,qword ptr [RSI]
AND EDX,0x1
JNZ 0x00123ae4
MOV RDX,R10
SUB RDX,RAX
MOV EAX,0x1
ADD RDX,RDI
JMP 0x00123adb
TEST byte ptr [RSI + RAX*0x8 + -0x8],0x1
JNZ 0x001242d0
ADD RAX,0x1
CMP RAX,RDX
JNZ 0x00123ad0
MOV qword ptr [RBX + RCX*0x8],RDX
CMP RBP,RDX
CMOVC RBP,RDX
ADD R12,RDX
ADD RCX,0x1
CMP RCX,R8
JNZ 0x00123a99
LEA RDI,[RBP + 0x1]
MOV ESI,0x8
CALL 0x00107250
MOV R13,RAX
TEST RAX,RAX
JZ 0x00124253
MOV RCX,qword ptr [RSP + 0x58]
MOV RAX,RBX
LEA RCX,[RBX + RCX*0x8]
NOP dword ptr [RAX]
MOV RDX,qword ptr [RAX]
ADD RAX,0x8
ADD qword ptr [R13 + RDX*0x8],0x1
CMP RCX,RAX
JNZ 0x00123b28
PXOR XMM4,XMM4
MOV RSI,qword ptr [R13]
CVTSI2SD XMM4,qword ptr [RSP + 0x58]
MOVSD qword ptr [RSP + 0x10],XMM4
TEST RSI,RSI
JS 0x001247a7
PXOR XMM0,XMM0
CVTSI2SD XMM0,RSI
MOVSD XMM2,qword ptr [0x0017c6b0]
LEA RDI,[0x16986a]
MOV EAX,0x1
MULSD XMM0,XMM2
MOVSD qword ptr [RSP + 0x8],XMM2
DIVSD XMM0,qword ptr [RSP + 0x10]
CALL 0x00107190
TEST RBP,RBP
JZ 0x00123430
TEST R12,R12
JS 0x00124835
PXOR XMM5,XMM5
CVTSI2SD XMM5,R12
MOVSD qword ptr [RSP + 0x18],XMM5
MOV R14D,0x1
XOR R15D,R15D
LEA R12,[0x1718a8]
JMP 0x00123c13
PXOR XMM1,XMM1
CVTSI2SD XMM1,R15
MULSD XMM1,qword ptr [RSP + 0x8]
DIVSD XMM1,qword ptr [RSP + 0x18]
TEST RDX,RDX
JS 0x00124628
PXOR XMM0,XMM0
CVTSI2SD XMM0,RDX
MULSD XMM0,qword ptr [RSP + 0x8]
MOV RSI,R14
MOV RDI,R12
MOV EAX,0x2
DIVSD XMM0,qword ptr [RSP + 0x10]
CALL 0x00107190
LEA RAX,[R14 + 0x1]
CMP RBP,R14
JZ 0x00123430
MOV R14,RAX
MOV RDX,qword ptr [R13 + R14*0x8]
MOV RAX,RDX
IMUL RAX,R14
ADD R15,RAX
JNS 0x00123bc0
MOV RAX,R15
MOV RCX,R15
PXOR XMM1,XMM1
SHR RAX,0x1
AND ECX,0x1
OR RAX,RCX
CVTSI2SD XMM1,RAX
ADDSD XMM1,XMM1
JMP 0x00123bc9
MOV EDX,dword ptr [0x0019349c]
TEST EDX,EDX
JZ 0x00123987
MOV R14,qword ptr [R15 + 0x70]
TEST R14,R14
JZ 0x00124374
MOV R11D,dword ptr [R15 + 0x64]
TEST R11D,R11D
JZ 0x00123620
MOV dword ptr [RSP + 0x10],0x0
MOV qword ptr [RSP + 0x98],R12
NOP word ptr [RAX + RAX*0x1]
MOV EAX,dword ptr [R14 + 0x4]
CMP EAX,0x2
JZ 0x00123c92
CMP EAX,0xb
JNZ 0x00124058
MOV R10D,dword ptr [0x001934a0]
TEST R10D,R10D
JNZ 0x00123ca7
CMP EAX,0x2
JZ 0x00124058
LEA RAX,[R15 + 0x80]
MOV RCX,qword ptr [R14 + 0x38]
MOV qword ptr [RSP + 0x68],RAX
LEA RAX,[R15 + 0x88]
MOV qword ptr [RSP + 0x70],RAX
TEST RCX,RCX
JZ 0x001240d0
MOV RAX,qword ptr [R14 + 0x20]
XOR EDX,EDX
LEA RSI,[R15 + 0x88]
LEA RDI,[R15 + 0x80]
DIV RCX
MOV RDX,R14
MOV RBP,RAX
MOV qword ptr [RSP + 0xb0],RAX
CALL 0x00113f30
MOV RCX,qword ptr [RSP + 0xb0]
XOR EDI,EDI
MOV R8D,0x5
LEA RDX,[0x171620]
LEA RSI,[0x171650]
MOV RBX,RAX
CALL 0x00107360
MOV RDX,RBP
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV R9D,dword ptr [0x0019345c]
MOV EDX,0x5
LEA RSI,[0x171678]
TEST R9D,R9D
JNZ 0x00123d4b
LEA RSI,[0x1716b8]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV R8D,dword ptr [0x0019345c]
MOV RSI,R14
MOV RDI,R15
LEA RDX,[RSP + 0xb0]
TEST R8D,R8D
JZ 0x001240c0
CALL 0x001149b0
MOV qword ptr [RSP + 0x38],RAX
CMP qword ptr [RSP + 0x38],0x0
JZ 0x00124058
MOV EAX,dword ptr [R14 + 0x28]
CMP EAX,dword ptr [R15 + 0x68]
JZ 0x00124220
MOV qword ptr [RSP + 0x8],0x0
XOR R12D,R12D
CMP EAX,dword ptr [R15 + 0x64]
JC 0x00124310
CMP qword ptr [RSP + 0xb0],0x0
JZ 0x00124030
LEA RAX,[R15 + 0x1f]
XOR EBP,EBP
MOV qword ptr [RSP + 0x18],RAX
LEA RAX,[R15 + 0x52]
MOV qword ptr [RSP + 0x20],RAX
MOV RAX,qword ptr [RSP + 0x38]
LEA RBX,[RAX + 0x10]
LEA RAX,[RSP + 0xa8]
MOV qword ptr [RSP + 0x30],RAX
LEA RAX,[RSP + 0xa6]
MOV qword ptr [RSP + 0x28],RAX
JMP 0x00123f78
MOVZX R13D,byte ptr [RBX + 0x9]
AND R13D,0x3
MOVZX EDI,R13B
CALL 0x001141e0
LEA RDI,[0x1697f2]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
MOVZX ESI,byte ptr [RBX + 0x9]
CMP SIL,R13B
JZ 0x00123e4c
XOR ESI,R13D
MOV RDI,R15
MOVZX ESI,SIL
CALL 0x00122cb0
LEA RDI,[0x1697fe]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV ESI,dword ptr [RBX + 0xc]
MOV RDI,R15
CALL 0x001142e0
LEA RDI,[0x16985b]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV RSI,qword ptr [RBX]
CMP RSI,R12
JNC 0x00124080
ADD RSI,qword ptr [RSP + 0x8]
MOV EDI,0x19
CALL 0x001122a0
XOR ESI,ESI
CMP dword ptr [R14 + 0x4],0xb
LEA RAX,[RBX + 0xc]
SETZ SIL
SUB RSP,0x8
MOV R9,RBX
MOV R8D,EBP
PUSH qword ptr [RSP + 0x30]
MOV RCX,R12
MOV RDI,R15
PUSH qword ptr [RSP + 0x40]
PUSH RAX
MOV RDX,qword ptr [RSP + 0x28]
CALL 0x0011d570
ADD RSP,0x20
TEST RAX,RAX
JZ 0x00123eec
MOV EDX,dword ptr [RSP + 0xa8]
TEST EDX,EDX
JZ 0x001240a0
CMP EDX,0x1
LEA RDI,[0x169614]
LEA RCX,[0x169615]
MOV RSI,RAX
CMOVZ RDI,RCX
XOR EAX,EAX
CALL 0x00107190
MOV RSI,qword ptr [0x001923a0]
MOV EDI,0xa
CALL 0x00107270
MOVZX EAX,byte ptr [RBX + 0x8]
SHR AL,0x4
JNZ 0x00123f60
MOV ECX,dword ptr [R14 + 0x2c]
CMP ECX,EBP
MOV dword ptr [RSP + 0x44],ECX
JA 0x00123f60
CMP word ptr [R15 + 0x52],0x8
JZ 0x00123f60
CMP byte ptr [R15 + 0x1f],0x6
JZ 0x00123f60
MOV RSI,qword ptr [RSP + 0x70]
MOV RDI,qword ptr [RSP + 0x68]
MOV RDX,R14
CALL 0x00113f30
MOV EDX,0x5
LEA RSI,[0x171700]
XOR EDI,EDI
MOV R13,RAX
CALL 0x00107130
MOV ECX,dword ptr [RSP + 0x44]
MOV RDX,R13
MOV ESI,EBP
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001550d0
NOP dword ptr [RAX]
LEA EAX,[RBP + 0x1]
ADD RBX,0x20
MOV RBP,RAX
CMP RAX,qword ptr [RSP + 0xb0]
JNC 0x00124030
MOV ESI,EBP
LEA RDI,[0x169855]
XOR EAX,EAX
CALL 0x00107190
MOV RDI,qword ptr [RBX + -0x10]
MOV ESI,0x6
CALL 0x001116b0
MOV RSI,qword ptr [0x001923a0]
MOV EDI,0x20
CALL 0x00107270
MOV RDI,qword ptr [RBX + -0x8]
MOV ESI,0x2
CALL 0x001116b0
MOV R13,qword ptr [RSP + 0x18]
MOVZX EDX,byte ptr [RBX + 0x8]
MOV RSI,qword ptr [RSP + 0x20]
AND EDX,0xf
MOV RDI,R13
CALL 0x001171e0
LEA RDI,[0x1697f2]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
MOVZX ESI,byte ptr [RBX + 0x8]
MOV RDI,R13
SHR SIL,0x4
MOVZX ESI,SIL
CALL 0x00118b60
LEA RDI,[0x1697f8]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
CMP byte ptr [R15 + 0x1f],0x6
JNZ 0x00123e00
MOVZX EDI,byte ptr [RBX + 0x9]
CALL 0x00114270
LEA RDI,[0x1697f2]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x00123e4c
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x00107030
MOV RAX,qword ptr [RSP + 0x8]
CMP qword ptr [R15 + 0x80],RAX
JZ 0x00124058
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x00107030
NOP word ptr [RAX + RAX*0x1]
ADD dword ptr [RSP + 0x10],0x1
ADD R14,0x50
MOV EAX,dword ptr [RSP + 0x10]
CMP dword ptr [R15 + 0x64],EAX
JA 0x00123c80
MOV R12,qword ptr [RSP + 0x98]
JMP 0x00123620
LEA RSI,[0x1648c9]
MOV EDX,0x5
XOR EDI,EDI
CALL 0x00107130
MOV RSI,RAX
JMP 0x00123e79
MOVZX EDX,word ptr [RSP + 0xa6]
MOV RSI,RAX
XOR EAX,EAX
LEA RDI,[0x169861]
CALL 0x00107190
JMP 0x00123eec
CALL 0x00114ea0
MOV qword ptr [RSP + 0x38],RAX
JMP 0x00123d84
MOV RDX,R14
LEA RDI,[R15 + 0x80]
MOV RSI,RAX
CALL 0x00113f30
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x1715f0]
MOV RBX,RAX
CALL 0x00107130
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x00124058
TEST EAX,EAX
JNZ 0x0012427f
CMP qword ptr [0x00194690],0x0
JZ 0x0012427f
MOVZX EAX,word ptr [R15 + 0x52]
CMP AX,0x9026
SETZ CL
CMP AX,0x16
SETZ DL
OR CL,DL
JNZ 0x00124142
MOV EBX,0x4
CMP AX,0xa390
JNZ 0x00124153
XOR EBX,EBX
CMP byte ptr [R15 + 0x1c],0x2
SETZ BL
LEA EBX,[0x4 + RBX*0x4]
MOV EDX,0x10
MOV RDI,R15
CALL 0x00119da0
MOV RDI,qword ptr [R15 + 0x8]
ADD RAX,qword ptr [0x001946b8]
XOR EDX,EDX
MOV RSI,RAX
CALL 0x00107300
MOV EDX,0x5
LEA RSI,[0x171490]
TEST EAX,EAX
JNZ 0x001241ba
MOV R12D,EBX
MOV RCX,qword ptr [R15 + 0x8]
MOV EDX,0x1
LEA RBP,[RSP + 0xa8]
MOV RSI,R12
MOV RDI,RBP
CALL 0x001070e0
CMP RAX,0x1
JZ 0x00124420
MOV EDX,0x5
LEA RSI,[0x1714c0]
XOR EDI,EDI
XOR R12D,R12D
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
MOV qword ptr [RSP + 0x50],0x0
MOV R9D,dword ptr [0x00193480]
TEST R9D,R9D
JNZ 0x00124278
MOV RDI,qword ptr [RSP + 0x50]
CALL 0x00107030
MOV RDI,R12
XOR R12D,R12D
CALL 0x00107030
MOV qword ptr [RSP + 0x50],0x0
MOV qword ptr [RSP + 0x48],0x0
MOV qword ptr [RSP + 0x60],0x0
JMP 0x001234aa
MOV RAX,qword ptr [R15 + 0x80]
MOV R12,qword ptr [R15 + 0x88]
MOV qword ptr [RSP + 0x8],RAX
JMP 0x00123db4
MOV ESI,0x8
MOV EDI,0x1
CALL 0x00107250
MOV R13,RAX
TEST RAX,RAX
JNZ 0x00123430
MOV RDI,RBX
CALL 0x00107030
MOV EDX,0x5
LEA RSI,[0x1719a0]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
XOR EAX,EAX
JMP 0x00123465
MOV RAX,qword ptr [0x00193540]
MOV qword ptr [RSP + 0x58],RAX
TEST RAX,RAX
JZ 0x001244ec
MOV qword ptr [RSP + 0x50],0x0
XOR R12D,R12D
MOV qword ptr [RSP + 0x60],0x0
MOV qword ptr [RSP + 0x48],0x0
JMP 0x001234e0
MOV qword ptr [R9],RDX
JMP 0x001237a1
MOV RDX,RAX
CMP RBP,RDX
MOV qword ptr [RBX + RCX*0x8],RDX
CMOVC RBP,RDX
ADD R12,RDX
JMP 0x00123af2
MOV EAX,dword ptr [0x0019349c]
TEST EAX,EAX
JNZ 0x00123c50
MOV R14,qword ptr [R15 + 0x70]
TEST R14,R14
JNZ 0x00123c5d
JMP 0x00123987
LEA RBX,[RAX + RAX*0x4]
MOV EDX,0x5
LEA RSI,[0x1698ba]
XOR EDI,EDI
SHL RBX,0x4
ADD RBX,qword ptr [R15 + 0x70]
CALL 0x00107130
SUB RSP,0x8
MOV R9,qword ptr [RBX + 0x20]
XOR EDI,EDI
MOV RCX,qword ptr [RBX + 0x18]
PUSH RAX
LEA RSI,[R15 + 0x8]
LEA RDX,[R15 + 0x10]
MOV R8D,0x1
CALL 0x001144a0
MOV qword ptr [RSP + 0x18],RAX
POP RSI
POP RDI
TEST RAX,RAX
JZ 0x00123db4
MOV R12,qword ptr [RBX + 0x20]
JMP 0x00123db4
MOV RSI,qword ptr [RSP + 0x58]
JMP 0x001234ff
MOV ECX,dword ptr [0x001934a0]
TEST ECX,ECX
JZ 0x00123620
JMP 0x00123987
MOV EDX,0x5
LEA RSI,[0x1714c0]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
MOV qword ptr [RSP + 0x80],0x0
MOV qword ptr [RSP + 0x88],0x0
MOV qword ptr [RSP + 0x78],0x0
MOV RDI,qword ptr [RSP + 0x78]
CALL 0x00107030
MOV EAX,dword ptr [0x00193480]
TEST EAX,EAX
JNZ 0x00124278
MOV qword ptr [RSP + 0x90],0x0
MOV qword ptr [RSP + 0x78],0x0
MOV qword ptr [RSP + 0x58],0x0
MOV RSI,qword ptr [0x00193580]
MOV RAX,RSI
OR RAX,qword ptr [0x00193540]
JNZ 0x001235c8
JMP 0x0012395b
MOV RCX,qword ptr [R15 + 0x8]
LEA R13,[RSP + 0xb0]
MOV EDX,0x1
MOV RSI,R12
MOV RDI,R13
CALL 0x001070e0
MOV EDX,0x5
LEA RSI,[0x1714e8]
CMP RAX,0x1
JNZ 0x001241ba
MOV RDI,RBP
MOV ESI,EBX
LEA RBP,[R15 + 0x8]
CALL qword ptr [0x00196f88]
MOV ESI,EBX
MOV RDI,R13
MOV R14,RAX
MOV qword ptr [RSP + 0x60],RAX
CALL qword ptr [0x00196f88]
MOV RSI,qword ptr [R15 + 0x10]
MOV RDX,R14
MOV ECX,EBX
MOV RDI,RBP
MOV R12,RAX
MOV qword ptr [RSP + 0x48],RAX
CALL 0x00121f00
MOV RSI,qword ptr [R15 + 0x10]
MOV RDX,R12
MOV ECX,EBX
MOV RDI,RBP
MOV R14,RAX
MOV qword ptr [RSP + 0x50],RAX
CALL 0x00121f00
MOV R12,RAX
TEST R14,R14
JZ 0x001241d7
TEST RAX,RAX
JNZ 0x001234aa
JMP 0x001241d7
MOV qword ptr [RSP + 0x50],0x0
XOR R12D,R12D
MOV qword ptr [RSP + 0x60],0x0
MOV qword ptr [RSP + 0x48],0x0
JMP 0x001234ff
LEA RBP,[RDX + RAX*0x4]
JMP 0x001232ae
MOV qword ptr [RSP + 0x80],0x0
MOV qword ptr [RSP + 0x88],0x0
MOV qword ptr [RSP + 0x48],0x0
JMP 0x0012359b
MOV EDX,0x5
LEA RSI,[0x1715c0]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV R14D,dword ptr [0x0019345c]
MOV EDX,0x5
LEA RSI,[0x171538]
TEST R14D,R14D
JNZ 0x0012454e
LEA RSI,[0x171578]
XOR EDI,EDI
XOR EBP,EBP
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
CMP qword ptr [RSP + 0x58],0x0
JZ 0x00123620
MOV qword ptr [RSP + 0x8],R12
MOV R13,qword ptr [RSP + 0x90]
MOV R14,RBP
MOV RBX,qword ptr [RSP + 0x88]
MOV R12,qword ptr [RSP + 0x80]
JMP 0x0012459f
ADD R14,0x1
CMP R14,qword ptr [RSP + 0x58]
JZ 0x0012479d
MOV RAX,qword ptr [RSP + 0x78]
MOV RAX,qword ptr [RAX + R14*0x8]
TEST RAX,RAX
JZ 0x00124590
SUB RAX,RBX
MOV RBP,RAX
JMP 0x001245c4
ADD RBP,0x1
TEST byte ptr [R13 + RBP*0x8 + -0x8],0x1
JNZ 0x00124590
LEA RSI,[RBP + RBX*0x1]
MOV RDX,R14
MOV RDI,R15
CALL 0x00122f40
CMP RBP,R12
JC 0x001245b8
JMP 0x00124590
MOV RAX,RSI
MOV RDX,RSI
PXOR XMM0,XMM0
SHR RAX,0x1
AND EDX,0x1
OR RAX,RDX
CVTSI2SD XMM0,RAX
ADDSD XMM0,XMM0
JMP 0x00123827
MOV RAX,RDX
MOV RCX,RDX
PXOR XMM0,XMM0
SHR RAX,0x1
AND ECX,0x1
OR RAX,RCX
CVTSI2SD XMM0,RAX
ADDSD XMM0,XMM0
JMP 0x001238af
MOV RAX,RDX
MOV RCX,RDX
PXOR XMM0,XMM0
SHR RAX,0x1
AND ECX,0x1
OR RAX,RCX
CVTSI2SD XMM0,RAX
ADDSD XMM0,XMM0
JMP 0x00123be7
MOV RDI,R14
CALL 0x00107030
MOV RDI,qword ptr [RSP + 0x20]
CALL 0x00107030
MOV EBX,dword ptr [0x00193470]
JMP 0x001239c4
MOV EDX,0x5
LEA RSI,[0x171490]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
MOV qword ptr [RSP + 0x80],0x0
MOV qword ptr [RSP + 0x78],0x0
JMP 0x001243c5
MOV EDX,0x5
LEA RSI,[0x16981f]
XOR EDI,EDI
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV EAX,dword ptr [0x0019345c]
MOV EDX,0x5
LEA RSI,[0x171538]
TEST EAX,EAX
JNZ 0x001246d7
LEA RSI,[0x171578]
XOR EDI,EDI
LEA R14,[0x169839]
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV RBX,qword ptr [RSP + 0x48]
MOV ESI,0x1
MOV RDI,RBX
CALL 0x0014c850
MOV RDX,RBX
XOR ESI,ESI
XOR EBX,EBX
MOV RDI,RAX
MOV RBP,RAX
CALL 0x001071f0
CMP qword ptr [RSP + 0x60],0x0
JZ 0x0012477f
NOP dword ptr [RAX + RAX*0x1]
MOV RAX,qword ptr [RSP + 0x50]
MOV R13,qword ptr [RAX + RBX*0x8]
TEST R13,R13
JNZ 0x00124746
JMP 0x00124774
LEA RDX,[RBP + R13*0x1]
CMP byte ptr [RDX],0x0
JNZ 0x0012475b
MOV byte ptr [RDX],0x1
MOV R13,qword ptr [R12 + R13*0x8]
TEST R13,R13
JZ 0x00124774
MOV RDX,RBX
MOV RSI,R13
MOV RDI,R15
CALL 0x00122f40
CMP qword ptr [RSP + 0x48],R13
JA 0x00124730
XOR EDI,EDI
MOV EDX,0x5
MOV RSI,R14
CALL 0x00107130
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00154b80
ADD RBX,0x1
CMP qword ptr [RSP + 0x60],RBX
JNZ 0x00124720
MOV RDI,RBP
CALL 0x00107030
JMP 0x00123609
MOV qword ptr [RSP + 0x80],0x0
JMP 0x001243c5
MOV R12,qword ptr [RSP + 0x8]
JMP 0x00123620
MOV RAX,RSI
MOV RDX,RSI
PXOR XMM0,XMM0
SHR RAX,0x1
AND EDX,0x1
OR RAX,RDX
CVTSI2SD XMM0,RAX
ADDSD XMM0,XMM0
JMP 0x00123b61
MOV EDX,0x1
JMP 0x00123ae4
MOV RDI,R15
CALL 0x00107030
MOV ESI,0x8
MOV EDI,0x1
CALL 0x00107250
MOV R14,RAX
TEST RAX,RAX
JNZ 0x00124649
MOV RDI,qword ptr [RSP + 0x20]
CALL 0x00107030
MOV EDX,0x5
LEA RSI,[0x171870]
JMP 0x00124267
MOV RAX,R13
AND R13D,0x1
PXOR XMM0,XMM0
SHR RAX,0x1
OR RAX,R13
CVTSI2SD XMM0,RAX
ADDSD XMM0,XMM0
MOVSD qword ptr [RSP + 0x18],XMM0
JMP 0x00123871
MOV RAX,R12
AND R12D,0x1
PXOR XMM0,XMM0
SHR RAX,0x1
OR RAX,R12
CVTSI2SD XMM0,RAX
ADDSD XMM0,XMM0
MOVSD qword ptr [RSP + 0x18],XMM0
JMP 0x00123bab
MOV RAX,qword ptr [RSP + 0x58]
MOV EDX,0x4
MOV RDI,R15
MOV qword ptr [RSP + 0x80],R14
LEA RSI,[RBP + RAX*0x4]
CALL 0x00119da0
MOV RDI,qword ptr [R15 + 0x8]
ADD RAX,qword ptr [0x001946b8]
XOR EDX,EDX
MOV RSI,RAX
CALL 0x00107300
TEST EAX,EAX
JNZ 0x001248c8
MOV RSI,qword ptr [R15 + 0x10]
MOV RDX,qword ptr [RSP + 0x80]
MOV ECX,0x4
MOV RDI,R13
CALL 0x00121f00
MOV qword ptr [RSP + 0x90],RAX
TEST RAX,RAX
JNZ 0x001243fb
JMP 0x001243c5
MOV EDX,0x5
LEA RSI,[0x171490]
JMP 0x0012340c
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined8 FUN_00123170(long param_1)\n\n{\n  short sVar1;\n  uint uVar2;\n  double dVar3;\n  int iVar4;\n  long lVar5;\n  size_t sVar6;\n  long lVar7;\n  undefined8 uVar8;\n  void *pvVar9;\n  ulong *puVar10;\n  ulong *puVar11;\n  long *__ptr;\n  ulong uVar12;\n  ulong *puVar13;\n  long *plVar14;\n  undefined8 uVar15;\n  void *__ptr_00;\n  ulong uVar16;\n  ulong uVar17;\n  ulong uVar18;\n  uint uVar19;\n  char *pcVar20;\n  ulong uVar21;\n  byte bVar22;\n  bool bVar23;\n  void *local_f0;\n  double local_e0;\n  void *local_c0;\n  size_t local_b0;\n  ulong *local_a8;\n  size_t local_a0;\n  size_t local_98;\n  void *local_80;\n  size_t local_78;\n  ulong local_70;\n  void *local_68;\n  ushort local_52;\n  int local_50 [2];\n  undefined8 local_48;\n  undefined1 local_40 [16];\n  \n  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }\n  return uVar8;\n}\n\n" comment (function_definition "undefined8 FUN_00123170(long param_1)\n\n{\n  short sVar1;\n  uint uVar2;\n  double dVar3;\n  int iVar4;\n  long lVar5;\n  size_t sVar6;\n  long lVar7;\n  undefined8 uVar8;\n  void *pvVar9;\n  ulong *puVar10;\n  ulong *puVar11;\n  long *__ptr;\n  ulong uVar12;\n  ulong *puVar13;\n  long *plVar14;\n  undefined8 uVar15;\n  void *__ptr_00;\n  ulong uVar16;\n  ulong uVar17;\n  ulong uVar18;\n  uint uVar19;\n  char *pcVar20;\n  ulong uVar21;\n  byte bVar22;\n  bool bVar23;\n  void *local_f0;\n  double local_e0;\n  void *local_c0;\n  size_t local_b0;\n  ulong *local_a8;\n  size_t local_a0;\n  size_t local_98;\n  void *local_80;\n  size_t local_78;\n  ulong local_70;\n  void *local_68;\n  ushort local_52;\n  int local_50 [2];\n  undefined8 local_48;\n  undefined1 local_40 [16];\n  \n  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }\n  return uVar8;\n}" type_identifier (function_declarator "FUN_00123170(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  double dVar3;\n  int iVar4;\n  long lVar5;\n  size_t sVar6;\n  long lVar7;\n  undefined8 uVar8;\n  void *pvVar9;\n  ulong *puVar10;\n  ulong *puVar11;\n  long *__ptr;\n  ulong uVar12;\n  ulong *puVar13;\n  long *plVar14;\n  undefined8 uVar15;\n  void *__ptr_00;\n  ulong uVar16;\n  ulong uVar17;\n  ulong uVar18;\n  uint uVar19;\n  char *pcVar20;\n  ulong uVar21;\n  byte bVar22;\n  bool bVar23;\n  void *local_f0;\n  double local_e0;\n  void *local_c0;\n  size_t local_b0;\n  ulong *local_a8;\n  size_t local_a0;\n  size_t local_98;\n  void *local_80;\n  size_t local_78;\n  ulong local_70;\n  void *local_68;\n  ushort local_52;\n  int local_50 [2];\n  undefined8 local_48;\n  undefined1 local_40 [16];\n  \n  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }\n  return uVar8;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "void *pvVar9;" primitive_type (pointer_declarator "*pvVar9" * identifier) ;) (declaration "ulong *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "ulong *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "long *__ptr;" (sized_type_specifier "long" long) (pointer_declarator "*__ptr" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "ulong *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "long *plVar14;" (sized_type_specifier "long" long) (pointer_declarator "*plVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "void *__ptr_00;" primitive_type (pointer_declarator "*__ptr_00" * identifier) ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "void *local_f0;" primitive_type (pointer_declarator "*local_f0" * identifier) ;) (declaration "double local_e0;" primitive_type identifier ;) (declaration "void *local_c0;" primitive_type (pointer_declarator "*local_c0" * identifier) ;) (declaration "size_t local_b0;" primitive_type identifier ;) (declaration "ulong *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "size_t local_a0;" primitive_type identifier ;) (declaration "size_t local_98;" primitive_type identifier ;) (declaration "void *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "size_t local_78;" primitive_type identifier ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "void *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "ushort local_52;" type_identifier identifier ;) (declaration "int local_50 [2];" primitive_type (array_declarator "local_50 [2]" identifier [ number_literal ]) ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined1 local_40 [16];" type_identifier (array_declarator "local_40 [16]" identifier [ number_literal ]) ;) (if_statement "if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" if (parenthesized_expression "(DAT_0019349c == 0 && DAT_001934a0 == 0)" ( (binary_expression "DAT_0019349c == 0 && DAT_001934a0 == 0" (binary_expression "DAT_0019349c == 0" identifier == number_literal) && (binary_expression "DAT_001934a0 == 0" identifier == number_literal)) )) (compound_statement "{\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }" { (if_statement "if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }" if (parenthesized_expression "(DAT_00193470 != 0)" ( (binary_expression "DAT_00193470 != 0" identifier != number_literal) )) (compound_statement "{\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }" { (expression_statement "local_98 = DAT_00193580;" (assignment_expression "local_98 = DAT_00193580" identifier = identifier) ;) (if_statement "if (DAT_00193580 != 0) goto LAB_00124120;" if (parenthesized_expression "(DAT_00193580 != 0)" ( (binary_expression "DAT_00193580 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00124120;" goto statement_identifier ;)) (expression_statement "local_b0 = DAT_00193540;" (assignment_expression "local_b0 = DAT_00193540" identifier = identifier) ;) (if_statement "if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }" if (parenthesized_expression "(DAT_00193540 == 0)" ( (binary_expression "DAT_00193540 == 0" identifier == number_literal) )) (compound_statement "{\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }" { (expression_statement "local_98 = DAT_00193540;" (assignment_expression "local_98 = DAT_00193540" identifier = identifier) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00123920;" goto statement_identifier ;) })) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" identifier = identifier) ;) (labeled_statement "LAB_001231f2:\n      DAT_00193540 = local_a0;" statement_identifier : (expression_statement "DAT_00193540 = local_a0;" (assignment_expression "DAT_00193540 = local_a0" identifier = identifier) ;)) (expression_statement "lVar5 = FUN_00119da0(param_1,local_a0,0x10);" (assignment_expression "lVar5 = FUN_00119da0(param_1,local_a0,0x10)" identifier = (call_expression "FUN_00119da0(param_1,local_a0,0x10)" identifier (argument_list "(param_1,local_a0,0x10)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar5 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;) (if_statement "if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }" { (expression_statement "sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8))" identifier = (call_expression "fread(&local_48,0x10,1,*(FILE **)(param_1 + 8))" identifier (argument_list "(&local_48,0x10,1,*(FILE **)(param_1 + 8))" ( (pointer_expression "&local_48" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }" if (parenthesized_expression "(sVar6 != 1)" ( (binary_expression "sVar6 != 1" identifier != number_literal) )) (compound_statement "{\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }" { (expression_statement "pcVar20 = "Failed to read in number of buckets\n";" (assignment_expression "pcVar20 = "Failed to read in number of buckets\n"" identifier = (string_literal ""Failed to read in number of buckets\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124393;" goto statement_identifier ;) })) (expression_statement "local_78 = (*DAT_00196f88)(&local_48,4);" (assignment_expression "local_78 = (*DAT_00196f88)(&local_48,4)" identifier = (call_expression "(*DAT_00196f88)(&local_48,4)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(&local_48,4)" ( (pointer_expression "&local_48" & identifier) , number_literal )))) ;) (expression_statement "local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);" (assignment_expression "local_70 = (*DAT_00196f88)((long)&local_48 + 4,4)" identifier = (call_expression "(*DAT_00196f88)((long)&local_48 + 4,4)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "((long)&local_48 + 4,4)" ( (binary_expression "(long)&local_48 + 4" (cast_expression "(long)&local_48" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_48" & identifier)) + number_literal) , number_literal )))) ;) (expression_statement "lVar5 = (*DAT_00196f88)(local_40,4);" (assignment_expression "lVar5 = (*DAT_00196f88)(local_40,4)" identifier = (call_expression "(*DAT_00196f88)(local_40,4)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(local_40,4)" ( identifier , number_literal )))) ;) (if_statement "if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n          lVar5 = lVar5 * 8;\n        }" { (expression_statement "lVar5 = lVar5 * 8;" (assignment_expression "lVar5 = lVar5 * 8" identifier = (binary_expression "lVar5 * 8" identifier * number_literal)) ;) }) (else_clause "else {\n          lVar5 = lVar5 * 4;\n        }" else (compound_statement "{\n          lVar5 = lVar5 * 4;\n        }" { (expression_statement "lVar5 = lVar5 * 4;" (assignment_expression "lVar5 = lVar5 * 4" identifier = (binary_expression "lVar5 * 4" identifier * number_literal)) ;) }))) (expression_statement "lVar5 = DAT_00193540 + 0x10 + lVar5;" (assignment_expression "lVar5 = DAT_00193540 + 0x10 + lVar5" identifier = (binary_expression "DAT_00193540 + 0x10 + lVar5" (binary_expression "DAT_00193540 + 0x10" identifier + number_literal) + identifier)) ;) (expression_statement "lVar7 = FUN_00119da0(param_1,lVar5,4);" (assignment_expression "lVar7 = FUN_00119da0(param_1,lVar5,4)" identifier = (call_expression "FUN_00119da0(param_1,lVar5,4)" identifier (argument_list "(param_1,lVar5,4)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar7 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }" { (expression_statement "uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5)" identifier = (call_expression "dcgettext(0,"Unable to seek to start of dynamic information\n",5)" identifier (argument_list "(0,"Unable to seek to start of dynamic information\n",5)" ( number_literal , (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (expression_statement "local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);" (assignment_expression "local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" identifier = (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" identifier (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" ( (binary_expression "param_1 + 8" identifier + number_literal) , (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) )))) , identifier , number_literal ))))) ;) (if_statement "if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(local_80 == (void *)0x0)" ( (binary_expression "local_80 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" { (labeled_statement "LAB_0012478c:\n          local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (if_statement "if (local_78 == 0) goto LAB_001243c5;" if (parenthesized_expression "(local_78 == 0)" ( (binary_expression "local_78 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;)) (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);" do (compound_statement "{\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        }" { (expression_statement "uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);" (assignment_expression "uVar21 = *(ulong *)((long)local_80 + local_a0 * 8)" identifier = (pointer_expression "*(ulong *)((long)local_80 + local_a0 * 8)" * (cast_expression "(ulong *)((long)local_80 + local_a0 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_80 + local_a0 * 8)" ( (binary_expression "(long)local_80 + local_a0 * 8" (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "local_a0 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }" { (if_statement "if (uVar21 < local_70) goto LAB_00124278;" if (parenthesized_expression "(uVar21 < local_70)" ( (binary_expression "uVar21 < local_70" identifier < identifier) )) (goto_statement "goto LAB_00124278;" goto statement_identifier ;)) (if_statement "if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }" if (parenthesized_expression "((uVar16 < uVar21) || (uVar16 == 0xffffffff))" ( (binary_expression "(uVar16 < uVar21) || (uVar16 == 0xffffffff)" (parenthesized_expression "(uVar16 < uVar21)" ( (binary_expression "uVar16 < uVar21" identifier < identifier) )) || (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) ))) )) (compound_statement "{\n              uVar16 = uVar21;\n            }" { (expression_statement "uVar16 = uVar21;" (assignment_expression "uVar16 = uVar21" identifier = identifier) ;) })) })) (expression_statement "local_a0 = local_a0 + 1;" (assignment_expression "local_a0 = local_a0 + 1" identifier = (binary_expression "local_a0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != local_a0)" ( (binary_expression "local_78 != local_a0" identifier != identifier) )) ;) (if_statement "if (uVar16 == 0xffffffff) goto LAB_0012478c;" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0012478c;" goto statement_identifier ;)) (expression_statement "local_78 = uVar16 - local_70;" (assignment_expression "local_78 = uVar16 - local_70" identifier = (binary_expression "uVar16 - local_70" identifier - identifier)) ;) (expression_statement "lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);" (assignment_expression "lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4)" identifier = (call_expression "FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4)" identifier (argument_list "(param_1,lVar5 + (local_a0 + local_78) * 4,4)" ( identifier , (binary_expression "lVar5 + (local_a0 + local_78) * 4" identifier + (binary_expression "(local_a0 + local_78) * 4" (parenthesized_expression "(local_a0 + local_78)" ( (binary_expression "local_a0 + local_78" identifier + identifier) )) * number_literal)) , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar7 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" { (labeled_statement "LAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";" statement_identifier : (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);" statement_identifier : (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" identifier = (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (do_statement "do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);" do (compound_statement "{\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        }" { (expression_statement "sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8))" identifier = (call_expression "fread(&local_48,4,1,*(FILE **)(param_1 + 8))" identifier (argument_list "(&local_48,4,1,*(FILE **)(param_1 + 8))" ( (pointer_expression "&local_48" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }" if (parenthesized_expression "(sVar6 != 1)" ( (binary_expression "sVar6 != 1" identifier != number_literal) )) (compound_statement "{\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }" { (expression_statement "pcVar20 = "Failed to determine last chain length\n";" (assignment_expression "pcVar20 = "Failed to determine last chain length\n"" identifier = (string_literal ""Failed to determine last chain length\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0012340c;" goto statement_identifier ;) })) (if_statement "if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;" if (parenthesized_expression "(local_78 == 0xffffffffffffffff)" ( (binary_expression "local_78 == 0xffffffffffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0012478c;" goto statement_identifier ;)) (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = (*DAT_00196f88)(&local_48,4);" (assignment_expression "uVar16 = (*DAT_00196f88)(&local_48,4)" identifier = (call_expression "(*DAT_00196f88)(&local_48,4)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(&local_48,4)" ( (pointer_expression "&local_48" & identifier) , number_literal )))) ;) }) while (parenthesized_expression "((uVar16 & 1) == 0)" ( (binary_expression "(uVar16 & 1) == 0" (parenthesized_expression "(uVar16 & 1)" ( (binary_expression "uVar16 & 1" identifier & number_literal) )) == number_literal) )) ;) (expression_statement "lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);" (assignment_expression "lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4)" identifier = (call_expression "FUN_00119da0(param_1,lVar5 + local_a0 * 4,4)" identifier (argument_list "(param_1,lVar5 + local_a0 * 4,4)" ( identifier , (binary_expression "lVar5 + local_a0 * 4" identifier + (binary_expression "local_a0 * 4" identifier * number_literal)) , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar5 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar4 != 0) goto LAB_001248c8;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001248c8;" goto statement_identifier ;)) (expression_statement "local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);" (assignment_expression "local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" identifier = (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" identifier (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" ( (binary_expression "param_1 + 8" identifier + number_literal) , (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) )))) , identifier , number_literal ))))) ;) (if_statement "if (local_68 == (void *)0x0) goto LAB_001243c5;" if (parenthesized_expression "(local_68 == (void *)0x0)" ( (binary_expression "local_68 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" else (compound_statement "{\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" { (labeled_statement "LAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);" statement_identifier : (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" identifier = (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001243c5:\n        free(local_80);" statement_identifier : (expression_statement "free(local_80);" (call_expression "free(local_80)" identifier (argument_list "(local_80)" ( identifier ))) ;)) (if_statement "if (DAT_00193480 != 0) goto LAB_00124278;" if (parenthesized_expression "(DAT_00193480 != 0)" ( (binary_expression "DAT_00193480 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00124278;" goto statement_identifier ;)) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) }))) (if_statement "if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;" if (parenthesized_expression "(DAT_00193580 != 0 || DAT_00193540 != 0)" ( (binary_expression "DAT_00193580 != 0 || DAT_00193540 != 0" (binary_expression "DAT_00193580 != 0" identifier != number_literal) || (binary_expression "DAT_00193540 != 0" identifier != number_literal)) )) (goto_statement "goto LAB_001235c8;" goto statement_identifier ;)) (labeled_statement "LAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;" statement_identifier : (if_statement "if (DAT_0019349c != 0) goto LAB_00123c50;" if (parenthesized_expression "(DAT_0019349c != 0)" ( (binary_expression "DAT_0019349c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123c50;" goto statement_identifier ;))) (if_statement "if (DAT_001934a0 == 0) goto LAB_00123620;" if (parenthesized_expression "(DAT_001934a0 == 0)" ( (binary_expression "DAT_001934a0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123620;" goto statement_identifier ;)) (if_statement "if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }" if (parenthesized_expression "(DAT_00193480 == 0)" ( (binary_expression "DAT_00193480 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }" { (labeled_statement "LAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);" statement_identifier : (expression_statement "lVar5 = *(long *)(param_1 + 0x70);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x70)" identifier = (pointer_expression "*(long *)(param_1 + 0x70)" * (cast_expression "(long *)(param_1 + 0x70)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;)) (if_statement "if (lVar5 != 0) goto LAB_00123c5d;" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123c5d;" goto statement_identifier ;)) })) (labeled_statement "LAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);" statement_identifier : (expression_statement "pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" identifier (argument_list "(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" ( number_literal , (string_literal ""\nDynamic symbol information is not available for displaying symbols.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (DAT_00193470 != 0) goto LAB_0012362e;" if (parenthesized_expression "(DAT_00193470 != 0)" ( (binary_expression "DAT_00193470 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012362e;" goto statement_identifier ;)) (labeled_statement "LAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" statement_identifier : (if_statement "if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" if (parenthesized_expression "(local_a8 != (ulong *)0x0)" ( (binary_expression "local_a8 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" { (labeled_statement "LAB_001239c4:\n        iVar4 = DAT_00193470;" statement_identifier : (expression_statement "iVar4 = DAT_00193470;" (assignment_expression "iVar4 = DAT_00193470" identifier = identifier) ;)) (expression_statement "free(local_a8);" (call_expression "free(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (labeled_statement "LAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" statement_identifier : (if_statement "if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" if (parenthesized_expression "((iVar4 != 0) && (local_80 != (void *)0x0))" ( (binary_expression "(iVar4 != 0) && (local_80 != (void *)0x0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_80 != (void *)0x0)" ( (binary_expression "local_80 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" { (expression_statement "pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" identifier (argument_list "(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" ( number_literal , (string_literal ""\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20,local_a0);" (call_expression "printf(pcVar20,local_a0)" identifier (argument_list "(pcVar20,local_a0)" ( identifier , identifier ))) ;) (expression_statement "__ptr = (long *)calloc(local_a0,8);" (assignment_expression "__ptr = (long *)calloc(local_a0,8)" identifier = (cast_expression "(long *)calloc(local_a0,8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(local_a0,8)" identifier (argument_list "(local_a0,8)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for gnu histogram buckets\n"" identifier = (string_literal ""Out of memory allocating space for gnu histogram buckets\n"" " string_content escape_sequence ")) ;) (if_statement "if (__ptr == (long *)0x0) goto LAB_00124267;" if (parenthesized_expression "(__ptr == (long *)0x0)" ( (binary_expression "__ptr == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00124267;" goto statement_identifier ;)) (expression_statement "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier = (cast_expression "(char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier (argument_list "(0," Length  Number     %% of total  Coverage\n",5)" ( number_literal , (string_literal "" Length  Number     %% of total  Coverage\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }" { (expression_statement "puVar13 = (ulong *)calloc(1,8);" (assignment_expression "puVar13 = (ulong *)calloc(1,8)" identifier = (cast_expression "(ulong *)calloc(1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,8)" identifier (argument_list "(1,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar13 == (ulong *)0x0) goto LAB_00124253;" if (parenthesized_expression "(puVar13 == (ulong *)0x0)" ( (binary_expression "puVar13 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00124253;" goto statement_identifier ;)) }) (else_clause "else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" else (compound_statement "{\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);" do (compound_statement "{\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            }" { (while_statement "while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }" while (parenthesized_expression "(lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0)" ( (comma_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0" (assignment_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8)" identifier = (pointer_expression "*(long *)((long)local_80 + sVar6 * 8)" * (cast_expression "(long *)((long)local_80 + sVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_80 + sVar6 * 8)" ( (binary_expression "(long)local_80 + sVar6 * 8" (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "sVar6 * 8" identifier * number_literal)) ))))) , (binary_expression "lVar5 != 0" identifier != number_literal)) )) (compound_statement "{\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }" { (if_statement "if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" if (parenthesized_expression "(lVar5 - local_70 < local_78)" ( (binary_expression "lVar5 - local_70 < local_78" (binary_expression "lVar5 - local_70" identifier - identifier) < identifier) )) (compound_statement "{\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }" { (expression_statement "puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);" (assignment_expression "puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8)" identifier = (cast_expression "(ulong *)((long)local_68 + (lVar5 - local_70) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_68 + (lVar5 - local_70) * 8)" ( (binary_expression "(long)local_68 + (lVar5 - local_70) * 8" (cast_expression "(long)local_68" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(lVar5 - local_70) * 8" (parenthesized_expression "(lVar5 - local_70)" ( (binary_expression "lVar5 - local_70" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "uVar17 = *puVar13;" (assignment_expression "uVar17 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "uVar18 = (ulong)((uint)uVar17 & 1);" (assignment_expression "uVar18 = (ulong)((uint)uVar17 & 1)" identifier = (call_expression "(ulong)((uint)uVar17 & 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)uVar17 & 1)" ( (binary_expression "(uint)uVar17 & 1" (cast_expression "(uint)uVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if ((uVar17 & 1) != 0) goto LAB_00123ae4;" if (parenthesized_expression "((uVar17 & 1) != 0)" ( (binary_expression "(uVar17 & 1) != 0" (parenthesized_expression "(uVar17 & 1)" ( (binary_expression "uVar17 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00123ae4;" goto statement_identifier ;)) (expression_statement "uVar18 = (local_70 - lVar5) + local_78 + 1;" (assignment_expression "uVar18 = (local_70 - lVar5) + local_78 + 1" identifier = (binary_expression "(local_70 - lVar5) + local_78 + 1" (binary_expression "(local_70 - lVar5) + local_78" (parenthesized_expression "(local_70 - lVar5)" ( (binary_expression "local_70 - lVar5" identifier - identifier) )) + identifier) + number_literal)) ;) (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (do_statement "do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);" do (compound_statement "{\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  }" { (expression_statement "uVar12 = uVar17 + 1;" (assignment_expression "uVar12 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (if_statement "if (uVar12 == uVar18) goto LAB_00123ae4;" if (parenthesized_expression "(uVar12 == uVar18)" ( (binary_expression "uVar12 == uVar18" identifier == identifier) )) (goto_statement "goto LAB_00123ae4;" goto statement_identifier ;)) (expression_statement "puVar10 = puVar13 + uVar17;" (assignment_expression "puVar10 = puVar13 + uVar17" identifier = (binary_expression "puVar13 + uVar17" identifier + identifier)) ;) (expression_statement "uVar17 = uVar12;" (assignment_expression "uVar17 = uVar12" identifier = identifier) ;) }) while (parenthesized_expression "((*puVar10 & 1) == 0)" ( (binary_expression "(*puVar10 & 1) == 0" (parenthesized_expression "(*puVar10 & 1)" ( (binary_expression "*puVar10 & 1" (pointer_expression "*puVar10" * identifier) & number_literal) )) == number_literal) )) ;) (expression_statement "__ptr[sVar6] = uVar12;" (assignment_expression "__ptr[sVar6] = uVar12" (subscript_expression "__ptr[sVar6]" identifier [ identifier ]) = identifier) ;) (if_statement "if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }" if (parenthesized_expression "(uVar16 < uVar12)" ( (binary_expression "uVar16 < uVar12" identifier < identifier) )) (compound_statement "{\n                    uVar16 = uVar12;\n                  }" { (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" identifier = identifier) ;) })) }) (else_clause "else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" else (compound_statement "{\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00123ae4:\n                  __ptr[sVar6] = uVar18;" statement_identifier : (expression_statement "__ptr[sVar6] = uVar18;" (assignment_expression "__ptr[sVar6] = uVar18" (subscript_expression "__ptr[sVar6]" identifier [ identifier ]) = identifier) ;)) (expression_statement "uVar12 = uVar18;" (assignment_expression "uVar12 = uVar18" identifier = identifier) ;) (if_statement "if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }" if (parenthesized_expression "(uVar16 < uVar18)" ( (binary_expression "uVar16 < uVar18" identifier < identifier) )) (compound_statement "{\n                    uVar16 = uVar18;\n                  }" { (expression_statement "uVar16 = uVar18;" (assignment_expression "uVar16 = uVar18" identifier = identifier) ;) })) }))) (expression_statement "uVar21 = uVar21 + uVar12;" (assignment_expression "uVar21 = uVar21 + uVar12" identifier = (binary_expression "uVar21 + uVar12" identifier + identifier)) ;) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) (if_statement "if (sVar6 == local_a0) goto LAB_00123afb;" if (parenthesized_expression "(sVar6 == local_a0)" ( (binary_expression "sVar6 == local_a0" identifier == identifier) )) (goto_statement "goto LAB_00123afb;" goto statement_identifier ;)) })) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar6 != local_a0)" ( (binary_expression "sVar6 != local_a0" identifier != identifier) )) ;) (labeled_statement "LAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);" statement_identifier : (expression_statement "puVar13 = (ulong *)calloc(uVar16 + 1,8);" (assignment_expression "puVar13 = (ulong *)calloc(uVar16 + 1,8)" identifier = (cast_expression "(ulong *)calloc(uVar16 + 1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(uVar16 + 1,8)" identifier (argument_list "(uVar16 + 1,8)" ( (binary_expression "uVar16 + 1" identifier + number_literal) , number_literal ))))) ;)) (if_statement "if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }" if (parenthesized_expression "(puVar13 == (ulong *)0x0)" ( (binary_expression "puVar13 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }" { (labeled_statement "LAB_00124253:\n              free(__ptr);" statement_identifier : (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;)) (expression_statement "pcVar20 = "Out of memory allocating space for gnu histogram counts\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for gnu histogram counts\n"" identifier = (string_literal ""Out of memory allocating space for gnu histogram counts\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124267;" goto statement_identifier ;) })) (expression_statement "plVar14 = __ptr;" (assignment_expression "plVar14 = __ptr" identifier = identifier) ;) (do_statement "do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);" do (compound_statement "{\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            }" { (expression_statement "lVar5 = *plVar14;" (assignment_expression "lVar5 = *plVar14" identifier = (pointer_expression "*plVar14" * identifier)) ;) (expression_statement "plVar14 = plVar14 + 1;" (assignment_expression "plVar14 = plVar14 + 1" identifier = (binary_expression "plVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar13[lVar5] = puVar13[lVar5] + 1;" (assignment_expression "puVar13[lVar5] = puVar13[lVar5] + 1" (subscript_expression "puVar13[lVar5]" identifier [ identifier ]) = (binary_expression "puVar13[lVar5] + 1" (subscript_expression "puVar13[lVar5]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "dVar3 = ram0x0017c6b0;" (assignment_expression "dVar3 = ram0x0017c6b0" identifier = identifier) ;) }) while (parenthesized_expression "(__ptr + local_a0 != plVar14)" ( (binary_expression "__ptr + local_a0 != plVar14" (binary_expression "__ptr + local_a0" identifier + identifier) != identifier) )) ;) (expression_statement "printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);" (call_expression "printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0)" identifier (argument_list "("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0)" ( (string_literal ""      0  %-10lu (%5.1f%%)\n"" " string_content escape_sequence ") , (binary_expression "((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0" (parenthesized_expression "((double)*puVar13 * ram0x0017c6b0)" ( (binary_expression "(double)*puVar13 * ram0x0017c6b0" (cast_expression "(double)*puVar13" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*puVar13" * identifier)) * identifier) )) / (cast_expression "(double)(long)local_a0" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ))) ;) (if_statement "if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }" if (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }" { (expression_statement "local_e0 = (double)uVar21;" (assignment_expression "local_e0 = (double)uVar21" identifier = (cast_expression "(double)uVar21" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 1;" (assignment_expression "uVar21 = 1" identifier = number_literal) ;) (do_statement "do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);" do (compound_statement "{\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              }" { (expression_statement "uVar18 = uVar18 + puVar13[uVar21] * uVar21;" (assignment_expression "uVar18 = uVar18 + puVar13[uVar21] * uVar21" identifier = (binary_expression "uVar18 + puVar13[uVar21] * uVar21" identifier + (binary_expression "puVar13[uVar21] * uVar21" (subscript_expression "puVar13[uVar21]" identifier [ identifier ]) * identifier))) ;) (expression_statement "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);" (call_expression "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21)" identifier (argument_list "("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21)" ( (string_literal ""%7lu  %-10lu (%5.1f%%)    %5.1f%%\n"" " string_content escape_sequence ") , (binary_expression "((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0" (parenthesized_expression "((double)puVar13[uVar21] * dVar3)" ( (binary_expression "(double)puVar13[uVar21] * dVar3" (cast_expression "(double)puVar13[uVar21]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "puVar13[uVar21]" identifier [ identifier ])) * identifier) )) / (cast_expression "(double)(long)local_a0" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "((double)uVar18 * dVar3) / local_e0" (parenthesized_expression "((double)uVar18 * dVar3)" ( (binary_expression "(double)uVar18 * dVar3" (cast_expression "(double)uVar18" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier) , identifier ))) ;) (expression_statement "bVar23 = uVar16 != uVar21;" (assignment_expression "bVar23 = uVar16 != uVar21" identifier = (binary_expression "uVar16 != uVar21" identifier != identifier)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) })) }))) (expression_statement "free(puVar13);" (call_expression "free(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(local_80);" (call_expression "free(local_80)" identifier (argument_list "(local_80)" ( identifier ))) ;) (expression_statement "free(local_68);" (call_expression "free(local_68)" identifier (argument_list "(local_68)" ( identifier ))) ;) }))) }))) })) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" else (compound_statement "{\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" { (expression_statement "local_98 = DAT_00193580;" (assignment_expression "local_98 = DAT_00193580" identifier = identifier) ;) (if_statement "if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" if (parenthesized_expression "(DAT_00193580 == 0)" ( (binary_expression "DAT_00193580 == 0" identifier == number_literal) )) (compound_statement "{\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }" { (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001234aa:\n      local_a0 = DAT_00193540;" statement_identifier : (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" identifier = identifier) ;)) (if_statement "if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" if (parenthesized_expression "(DAT_00193540 == 0)" ( (binary_expression "DAT_00193540 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }" { (labeled_statement "LAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" statement_identifier : (if_statement "if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" if (parenthesized_expression "(DAT_00193580 == 0)" ( (binary_expression "DAT_00193580 == 0" identifier == number_literal) )) (compound_statement "{\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0012395b;" goto statement_identifier ;) }))) }) (else_clause "else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" else (compound_statement "{\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" { (if_statement "if (DAT_00193470 != 0) goto LAB_001231f2;" if (parenthesized_expression "(DAT_00193470 != 0)" ( (binary_expression "DAT_00193470 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001231f2;" goto statement_identifier ;)) (if_statement "if (DAT_00193480 != 0) goto LAB_001234e0;" if (parenthesized_expression "(DAT_00193480 != 0)" ( (binary_expression "DAT_00193480 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001234e0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_001234ff:\n      local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;" statement_identifier : (if_statement "if (DAT_001934a0 == 0) goto LAB_0012395b;" if (parenthesized_expression "(DAT_001934a0 == 0)" ( (binary_expression "DAT_001934a0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012395b;" goto statement_identifier ;))) (if_statement "if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }" if (parenthesized_expression "(DAT_00193480 != 0)" ( (binary_expression "DAT_00193480 != 0" identifier != number_literal) )) (compound_statement "{\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }" { (if_statement "if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }" if (parenthesized_expression "((DAT_00194690 == 0) || (DAT_00194678 == 0))" ( (binary_expression "(DAT_00194690 == 0) || (DAT_00194678 == 0)" (parenthesized_expression "(DAT_00194690 == 0)" ( (binary_expression "DAT_00194690 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_00194678 == 0)" ( (binary_expression "DAT_00194678 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }" { (if_statement "if (DAT_0019349c != 0) goto LAB_00123c50;" if (parenthesized_expression "(DAT_0019349c != 0)" ( (binary_expression "DAT_0019349c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123c50;" goto statement_identifier ;)) (goto_statement "goto LAB_00123987;" goto statement_identifier ;) })) (if_statement "if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }" if (parenthesized_expression "(DAT_00193580 != 0)" ( (binary_expression "DAT_00193580 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }" { (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table for image:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table for image:\n",5)" identifier (argument_list "(0,"\nSymbol table for image:\n",5)" ( number_literal , (string_literal ""\nSymbol table for image:\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (expression_statement "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" { (expression_statement "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (expression_statement "pvVar9 = (void *)FUN_0014c850(local_b0);" (assignment_expression "pvVar9 = (void *)FUN_0014c850(local_b0)" identifier = (cast_expression "(void *)FUN_0014c850(local_b0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014c850(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))))) ;) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" identifier = number_literal) ;) (expression_statement "memset(pvVar9,0,local_b0);" (call_expression "memset(pvVar9,0,local_b0)" identifier (argument_list "(pvVar9,0,local_b0)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }" if (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }" { (do_statement "do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);" do (compound_statement "{\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            }" { (for_statement "for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }" for ( (assignment_expression "uVar16 = local_a8[sVar6]" identifier = (subscript_expression "local_a8[sVar6]" identifier [ identifier ])) ; (binary_expression "uVar16 != 0" identifier != number_literal) ; (assignment_expression "uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)" identifier = (pointer_expression "*(ulong *)((long)__ptr_00 + uVar16 * 8)" * (cast_expression "(ulong *)((long)__ptr_00 + uVar16 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__ptr_00 + uVar16 * 8)" ( (binary_expression "(long)__ptr_00 + uVar16 * 8" (cast_expression "(long)__ptr_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar16 * 8" identifier * number_literal)) ))))) ) (compound_statement "{\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }" { (expression_statement "FUN_00122f40(param_1,uVar16,sVar6);" (call_expression "FUN_00122f40(param_1,uVar16,sVar6)" identifier (argument_list "(param_1,uVar16,sVar6)" ( identifier , identifier , identifier ))) ;) (if_statement "if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }" if (parenthesized_expression "((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0'))" ( (binary_expression "(local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')" (parenthesized_expression "(local_b0 <= uVar16)" ( (binary_expression "local_b0 <= uVar16" identifier <= identifier) )) || (parenthesized_expression "(*(char *)((long)pvVar9 + uVar16) != '\0')" ( (binary_expression "*(char *)((long)pvVar9 + uVar16) != '\0'" (pointer_expression "*(char *)((long)pvVar9 + uVar16)" * (cast_expression "(char *)((long)pvVar9 + uVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar9 + uVar16)" ( (binary_expression "(long)pvVar9 + uVar16" (cast_expression "(long)pvVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }" { (expression_statement "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);" (assignment_expression "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5)" identifier = (call_expression "dcgettext(0,"histogram chain is corrupt\n",5)" identifier (argument_list "(0,"histogram chain is corrupt\n",5)" ( number_literal , (string_literal ""histogram chain is corrupt\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "*(char *)((long)pvVar9 + uVar16) = '\x01';" (assignment_expression "*(char *)((long)pvVar9 + uVar16) = '\x01'" (pointer_expression "*(char *)((long)pvVar9 + uVar16)" * (cast_expression "(char *)((long)pvVar9 + uVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar9 + uVar16)" ( (binary_expression "(long)pvVar9 + uVar16" (cast_expression "(long)pvVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_98 != sVar6)" ( (binary_expression "local_98 != sVar6" identifier != identifier) )) ;) })) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) })) (if_statement "if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }" if (parenthesized_expression "(DAT_00193540 != 0)" ( (binary_expression "DAT_00193540 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }" { (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" identifier (argument_list "(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" ( number_literal , (string_literal ""\nSymbol table of `.gnu.hash\' for image:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (expression_statement "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" { (expression_statement "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" identifier = number_literal) ;) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }" if (parenthesized_expression "(local_a0 != 0)" ( (binary_expression "local_a0 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }" { (do_statement "do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);" do (compound_statement "{\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            }" { (expression_statement "lVar5 = *(long *)((long)local_80 + sVar6 * 8);" (assignment_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8)" identifier = (pointer_expression "*(long *)((long)local_80 + sVar6 * 8)" * (cast_expression "(long *)((long)local_80 + sVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_80 + sVar6 * 8)" ( (binary_expression "(long)local_80 + sVar6 * 8" (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "sVar6 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }" { (expression_statement "uVar16 = lVar5 - local_70;" (assignment_expression "uVar16 = lVar5 - local_70" identifier = (binary_expression "lVar5 - local_70" identifier - identifier)) ;) (do_statement "do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);" do (compound_statement "{\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                }" { (expression_statement "FUN_00122f40(param_1,uVar16 + local_70,sVar6);" (call_expression "FUN_00122f40(param_1,uVar16 + local_70,sVar6)" identifier (argument_list "(param_1,uVar16 + local_70,sVar6)" ( identifier , (binary_expression "uVar16 + local_70" identifier + identifier) , identifier ))) ;) (if_statement "if (local_78 <= uVar16) break;" if (parenthesized_expression "(local_78 <= uVar16)" ( (binary_expression "local_78 <= uVar16" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0)" ( (binary_expression "(*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0" (parenthesized_expression "(*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1)" ( (binary_expression "*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1" (pointer_expression "*(byte *)((long)local_68 + uVar16 * 8 + -8)" * (cast_expression "(byte *)((long)local_68 + uVar16 * 8 + -8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_68 + uVar16 * 8 + -8)" ( (binary_expression "(long)local_68 + uVar16 * 8 + -8" (binary_expression "(long)local_68 + uVar16 * 8" (cast_expression "(long)local_68" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar16 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) ;) })) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar6 != local_a0)" ( (binary_expression "sVar6 != local_a0" identifier != identifier) )) ;) })) })) (goto_statement "goto LAB_00123620;" goto statement_identifier ;) })) (if_statement "if (DAT_0019349c == 0) goto LAB_001242fe;" if (parenthesized_expression "(DAT_0019349c == 0)" ( (binary_expression "DAT_0019349c == 0" identifier == number_literal) )) (goto_statement "goto LAB_001242fe;" goto statement_identifier ;)) (labeled_statement "LAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);" statement_identifier : (expression_statement "lVar5 = *(long *)(param_1 + 0x70);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x70)" identifier = (pointer_expression "*(long *)(param_1 + 0x70)" * (cast_expression "(long *)(param_1 + 0x70)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;)) (if_statement "if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }" { (if_statement "if (DAT_001934a0 != 0) goto LAB_00123987;" if (parenthesized_expression "(DAT_001934a0 != 0)" ( (binary_expression "DAT_001934a0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123987;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" else (compound_statement "{\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" { (labeled_statement "LAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" statement_identifier : (if_statement "if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" if (parenthesized_expression "(*(int *)(param_1 + 100) != 0)" ( (binary_expression "*(int *)(param_1 + 100) != 0" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));" do (compound_statement "{\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          }" { (expression_statement "iVar4 = *(int *)(lVar5 + 4);" (assignment_expression "iVar4 = *(int *)(lVar5 + 4)" identifier = (pointer_expression "*(int *)(lVar5 + 4)" * (cast_expression "(int *)(lVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 4)" ( (binary_expression "lVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2))))" ( (binary_expression "((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))" (parenthesized_expression "((iVar4 == 2) || (iVar4 == 0xb))" ( (binary_expression "(iVar4 == 2) || (iVar4 == 0xb)" (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) || (parenthesized_expression "(iVar4 == 0xb)" ( (binary_expression "iVar4 == 0xb" identifier == number_literal) ))) )) && (parenthesized_expression "((DAT_001934a0 != 0 || (iVar4 != 2)))" ( (parenthesized_expression "(DAT_001934a0 != 0 || (iVar4 != 2))" ( (binary_expression "DAT_001934a0 != 0 || (iVar4 != 2)" (binary_expression "DAT_001934a0 != 0" identifier != number_literal) || (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }" { (if_statement "if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" if (parenthesized_expression "(*(ulong *)(lVar5 + 0x38) == 0)" ( (binary_expression "*(ulong *)(lVar5 + 0x38) == 0" (pointer_expression "*(ulong *)(lVar5 + 0x38)" * (cast_expression "(ulong *)(lVar5 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x38)" ( (binary_expression "lVar5 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }" { (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier = (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) , (binary_expression "param_1 + 0x88" identifier + number_literal) , identifier )))) ;) (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" identifier (argument_list "(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" ( number_literal , (string_literal ""\nSymbol table \'%s\' has a sh_entsize of zero!\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20,uVar8);" (call_expression "printf(pcVar20,uVar8)" identifier (argument_list "(pcVar20,uVar8)" ( identifier , identifier ))) ;) }) (else_clause "else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" else (compound_statement "{\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" { (expression_statement "uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);" (assignment_expression "uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38)" identifier = (binary_expression "*(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38)" (pointer_expression "*(ulong *)(lVar5 + 0x20)" * (cast_expression "(ulong *)(lVar5 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" identifier + number_literal) )))) / (pointer_expression "*(ulong *)(lVar5 + 0x38)" * (cast_expression "(ulong *)(lVar5 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x38)" ( (binary_expression "lVar5 + 0x38" identifier + number_literal) )))))) ;) (expression_statement "local_48 = uVar16;" (assignment_expression "local_48 = uVar16" identifier = identifier) ;) (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier = (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) , (binary_expression "param_1 + 0x88" identifier + number_literal) , identifier )))) ;) (expression_statement "pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" identifier = (cast_expression "(char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" identifier (argument_list "(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" ( number_literal , (string_literal ""\nSymbol table \'%s\' contains %lu entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nSymbol table \'%s\' contains %lu entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20,uVar8,uVar16);" (call_expression "printf(pcVar20,uVar8,uVar16)" identifier (argument_list "(pcVar20,uVar8,uVar16)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"" identifier = (string_literal ""   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }" { (expression_statement "pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"" identifier = (string_literal ""   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }" { (expression_statement "local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);" (assignment_expression "local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48)" identifier = (cast_expression "(void *)FUN_00114ea0(param_1,lVar5,&local_48)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00114ea0(param_1,lVar5,&local_48)" identifier (argument_list "(param_1,lVar5,&local_48)" ( identifier , identifier , (pointer_expression "&local_48" & identifier) ))))) ;) }) (else_clause "else {\n                  local_c0 = (void *)FUN_001149b0();\n                }" else (compound_statement "{\n                  local_c0 = (void *)FUN_001149b0();\n                }" { (expression_statement "local_c0 = (void *)FUN_001149b0();" (assignment_expression "local_c0 = (void *)FUN_001149b0()" identifier = (cast_expression "(void *)FUN_001149b0()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001149b0()" identifier (argument_list "()" ( ))))) ;) }))) (if_statement "if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }" if (parenthesized_expression "(local_c0 != (void *)0x0)" ( (binary_expression "local_c0 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }" { (expression_statement "uVar2 = *(uint *)(lVar5 + 0x28);" (assignment_expression "uVar2 = *(uint *)(lVar5 + 0x28)" identifier = (pointer_expression "*(uint *)(lVar5 + 0x28)" * (cast_expression "(uint *)(lVar5 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x28)" ( (binary_expression "lVar5 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" if (parenthesized_expression "(uVar2 == *(uint *)(param_1 + 0x68))" ( (binary_expression "uVar2 == *(uint *)(param_1 + 0x68)" identifier == (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) )) (compound_statement "{\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }" { (expression_statement "local_f0 = *(void **)(param_1 + 0x80);" (assignment_expression "local_f0 = *(void **)(param_1 + 0x80)" identifier = (pointer_expression "*(void **)(param_1 + 0x80)" * (cast_expression "(void **)(param_1 + 0x80)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(ulong *)(param_1 + 0x88);" (assignment_expression "uVar16 = *(ulong *)(param_1 + 0x88)" identifier = (pointer_expression "*(ulong *)(param_1 + 0x88)" * (cast_expression "(ulong *)(param_1 + 0x88)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" else (compound_statement "{\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" { (expression_statement "local_f0 = (void *)0x0;" (assignment_expression "local_f0 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (if_statement "if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }" if (parenthesized_expression "(uVar2 < *(uint *)(param_1 + 100))" ( (binary_expression "uVar2 < *(uint *)(param_1 + 100)" identifier < (pointer_expression "*(uint *)(param_1 + 100)" * (cast_expression "(uint *)(param_1 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) ))))) )) (compound_statement "{\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }" { (expression_statement "lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);" (assignment_expression "lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70)" identifier = (binary_expression "(ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70)" (binary_expression "(ulong)uVar2 * 0x50" (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + (pointer_expression "*(long *)(param_1 + 0x70)" * (cast_expression "(long *)(param_1 + 0x70)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))))) ;) (expression_statement "uVar8 = dcgettext(0,"string table",5);" (assignment_expression "uVar8 = dcgettext(0,"string table",5)" identifier = (call_expression "dcgettext(0,"string table",5)" identifier (argument_list "(0,"string table",5)" ( number_literal , (string_literal ""string table"" " string_content ") , number_literal )))) ;) (expression_statement "local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);" (assignment_expression "local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" identifier = (cast_expression "(void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" identifier (argument_list "(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" ( number_literal , (binary_expression "param_1 + 8" identifier + number_literal) , (binary_expression "param_1 + 0x10" identifier + number_literal) , (pointer_expression "*(undefined8 *)(lVar7 + 0x18)" * (cast_expression "(undefined8 *)(lVar7 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x18)" ( (binary_expression "lVar7 + 0x18" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined8 *)(lVar7 + 0x20)" * (cast_expression "(undefined8 *)(lVar7 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x20)" ( (binary_expression "lVar7 + 0x20" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }" if (parenthesized_expression "(local_f0 != (void *)0x0)" ( (binary_expression "local_f0 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }" { (expression_statement "uVar16 = *(ulong *)(lVar7 + 0x20);" (assignment_expression "uVar16 = *(ulong *)(lVar7 + 0x20)" identifier = (pointer_expression "*(ulong *)(lVar7 + 0x20)" * (cast_expression "(ulong *)(lVar7 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x20)" ( (binary_expression "lVar7 + 0x20" identifier + number_literal) ))))) ;) })) })) }))) (if_statement "if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = (ulong *)((long)local_c0 + 0x10);" (assignment_expression "puVar13 = (ulong *)((long)local_c0 + 0x10)" identifier = (cast_expression "(ulong *)((long)local_c0 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_c0 + 0x10)" ( (binary_expression "(long)local_c0 + 0x10" (cast_expression "(long)local_c0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);" do (compound_statement "{\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    }" { (expression_statement "printf("%6d: ",uVar21);" (call_expression "printf("%6d: ",uVar21)" identifier (argument_list "("%6d: ",uVar21)" ( (string_literal ""%6d: "" " string_content ") , identifier ))) ;) (expression_statement "FUN_001116b0(puVar13[-2],6);" (call_expression "FUN_001116b0(puVar13[-2],6)" identifier (argument_list "(puVar13[-2],6)" ( (subscript_expression "puVar13[-2]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "putc(0x20,stdout);" (call_expression "putc(0x20,stdout)" identifier (argument_list "(0x20,stdout)" ( number_literal , identifier ))) ;) (expression_statement "FUN_001116b0(puVar13[-1],2);" (call_expression "FUN_001116b0(puVar13[-1],2)" identifier (argument_list "(puVar13[-1],2)" ( (subscript_expression "puVar13[-1]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);" (assignment_expression "uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" identifier = (call_expression "FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" identifier (argument_list "(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , (binary_expression "param_1 + 0x52" identifier + number_literal) , (binary_expression "(byte)puVar13[1] & 0xf" (cast_expression "(byte)puVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar13[1]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" identifier (argument_list "(" %-7s",uVar8)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (expression_statement "uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);" (assignment_expression "uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4)" identifier = (call_expression "FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4)" identifier (argument_list "(param_1 + 0x1f,(byte)puVar13[1] >> 4)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , (binary_expression "(byte)puVar13[1] >> 4" (cast_expression "(byte)puVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar13[1]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "printf(" %-6s",uVar8);" (call_expression "printf(" %-6s",uVar8)" identifier (argument_list "(" %-6s",uVar8)" ( (string_literal "" %-6s"" " string_content ") , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" if (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\x06')" ( (binary_expression "*(char *)(param_1 + 0x1f) == '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" * (cast_expression "(char *)(param_1 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) )))) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }" { (expression_statement "uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));" (assignment_expression "uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9))" identifier = (call_expression "FUN_00114270(*(undefined1 *)((long)puVar13 + 9))" identifier (argument_list "(*(undefined1 *)((long)puVar13 + 9))" ( (pointer_expression "*(undefined1 *)((long)puVar13 + 9)" * (cast_expression "(undefined1 *)((long)puVar13 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 9)" ( (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )))) ;) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" identifier (argument_list "(" %-7s",uVar8)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) }) (else_clause "else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" else (compound_statement "{\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" { (expression_statement "bVar22 = *(byte *)((long)puVar13 + 9) & 3;" (assignment_expression "bVar22 = *(byte *)((long)puVar13 + 9) & 3" identifier = (binary_expression "*(byte *)((long)puVar13 + 9) & 3" (pointer_expression "*(byte *)((long)puVar13 + 9)" * (cast_expression "(byte *)((long)puVar13 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 9)" ( (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "uVar8 = FUN_001141e0(bVar22);" (assignment_expression "uVar8 = FUN_001141e0(bVar22)" identifier = (call_expression "FUN_001141e0(bVar22)" identifier (argument_list "(bVar22)" ( identifier )))) ;) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" identifier (argument_list "(" %-7s",uVar8)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (if_statement "if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }" if (parenthesized_expression "(*(byte *)((long)puVar13 + 9) != bVar22)" ( (binary_expression "*(byte *)((long)puVar13 + 9) != bVar22" (pointer_expression "*(byte *)((long)puVar13 + 9)" * (cast_expression "(byte *)((long)puVar13 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 9)" ( (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }" { (expression_statement "uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);" (assignment_expression "uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" identifier = (call_expression "FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" identifier (argument_list "(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" ( identifier , (binary_expression "*(byte *)((long)puVar13 + 9) ^ bVar22" (pointer_expression "*(byte *)((long)puVar13 + 9)" * (cast_expression "(byte *)((long)puVar13 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 9)" ( (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ^ identifier) )))) ;) (expression_statement "printf(" [%s] ",uVar8);" (call_expression "printf(" [%s] ",uVar8)" identifier (argument_list "(" [%s] ",uVar8)" ( (string_literal "" [%s] "" " string_content ") , identifier ))) ;) })) }))) (expression_statement "uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));" (assignment_expression "uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc))" identifier = (call_expression "FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc))" identifier (argument_list "(param_1,*(undefined4 *)((long)puVar13 + 0xc))" ( identifier , (pointer_expression "*(undefined4 *)((long)puVar13 + 0xc)" * (cast_expression "(undefined4 *)((long)puVar13 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 0xc)" ( (binary_expression "(long)puVar13 + 0xc" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )))) ;) (expression_statement "printf(" %4s ",uVar8);" (call_expression "printf(" %4s ",uVar8)" identifier (argument_list "(" %4s ",uVar8)" ( (string_literal "" %4s "" " string_content ") , identifier ))) ;) (if_statement "if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" if (parenthesized_expression "(*puVar13 < uVar16)" ( (binary_expression "*puVar13 < uVar16" (pointer_expression "*puVar13" * identifier) < identifier) )) (compound_statement "{\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }" { (expression_statement "lVar7 = *puVar13 + (long)local_f0;" (assignment_expression "lVar7 = *puVar13 + (long)local_f0" identifier = (binary_expression "*puVar13 + (long)local_f0" (pointer_expression "*puVar13" * identifier) + (cast_expression "(long)local_f0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) }) (else_clause "else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" else (compound_statement "{\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" { (expression_statement "lVar7 = dcgettext(0,"<corrupt>",5);" (assignment_expression "lVar7 = dcgettext(0,"<corrupt>",5)" identifier = (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal )))) ;) }))) (expression_statement "FUN_001122a0(0x19,lVar7);" (call_expression "FUN_001122a0(0x19,lVar7)" identifier (argument_list "(0x19,lVar7)" ( number_literal , identifier ))) ;) (expression_statement "lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);" (assignment_expression "lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" identifier = (call_expression "FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" identifier (argument_list "(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" ( identifier , (binary_expression "*(int *)(lVar5 + 4) == 0xb" (pointer_expression "*(int *)(lVar5 + 4)" * (cast_expression "(int *)(lVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 4)" ( (binary_expression "lVar5 + 4" identifier + number_literal) )))) == number_literal) , identifier , identifier , identifier , identifier , (binary_expression "(long)puVar13 + 0xc" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) , identifier , (pointer_expression "&local_52" & identifier) )))) ;) (if_statement "if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }" if (parenthesized_expression "(lVar7 != 0)" ( (binary_expression "lVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }" { (if_statement "if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" if (parenthesized_expression "(local_50[0] == 0)" ( (binary_expression "local_50[0] == 0" (subscript_expression "local_50[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }" { (expression_statement "printf("@%s (%d)",lVar7,(ulong)local_52);" (call_expression "printf("@%s (%d)",lVar7,(ulong)local_52)" identifier (argument_list "("@%s (%d)",lVar7,(ulong)local_52)" ( (string_literal ""@%s (%d)"" " string_content ") , identifier , (cast_expression "(ulong)local_52" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) (else_clause "else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" else (compound_statement "{\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" { (expression_statement "pcVar20 = "@@%s";" (assignment_expression "pcVar20 = "@@%s"" identifier = (string_literal ""@@%s"" " string_content ")) ;) (if_statement "if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }" if (parenthesized_expression "(local_50[0] == 1)" ( (binary_expression "local_50[0] == 1" (subscript_expression "local_50[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                            pcVar20 = "@%s";\n                          }" { (expression_statement "pcVar20 = "@%s";" (assignment_expression "pcVar20 = "@%s"" identifier = (string_literal ""@%s"" " string_content ")) ;) })) (expression_statement "printf(pcVar20,lVar7);" (call_expression "printf(pcVar20,lVar7)" identifier (argument_list "(pcVar20,lVar7)" ( identifier , identifier ))) ;) }))) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (if_statement "if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }" if (parenthesized_expression "(((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06'))" ( (binary_expression "((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')" (parenthesized_expression "((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8))" ( (binary_expression "(((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)" (parenthesized_expression "(((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21))" ( (binary_expression "((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)" (parenthesized_expression "((byte)((byte)puVar13[1] >> 4) == 0)" ( (binary_expression "(byte)((byte)puVar13[1] >> 4) == 0" (call_expression "(byte)((byte)puVar13[1] >> 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((byte)puVar13[1] >> 4)" ( (binary_expression "(byte)puVar13[1] >> 4" (cast_expression "(byte)puVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar13[1]" identifier [ number_literal ])) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)" ( (comma_expression "uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21" (assignment_expression "uVar2 = *(uint *)(lVar5 + 0x2c)" identifier = (pointer_expression "*(uint *)(lVar5 + 0x2c)" * (cast_expression "(uint *)(lVar5 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x2c)" ( (binary_expression "lVar5 + 0x2c" identifier + number_literal) ))))) , (binary_expression "uVar2 <= (uint)uVar21" identifier <= (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ))) )) && (parenthesized_expression "(*(short *)(param_1 + 0x52) != 8)" ( (binary_expression "*(short *)(param_1 + 0x52) != 8" (pointer_expression "*(short *)(param_1 + 0x52)" * (cast_expression "(short *)(param_1 + 0x52)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x52)" ( (binary_expression "param_1 + 0x52" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(*(char *)(param_1 + 0x1f) != '\x06')" ( (binary_expression "*(char *)(param_1 + 0x1f) != '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" * (cast_expression "(char *)(param_1 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) )))) != (char_literal "'\x06'" ' escape_sequence ')) ))) )) (compound_statement "{\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }" { (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier = (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) , (binary_expression "param_1 + 0x88" identifier + number_literal) , identifier )))) ;) (expression_statement "uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" identifier = (call_expression "dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" identifier (argument_list "(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" ( number_literal , (string_literal ""local symbol %u found at index >= %s\'s sh_info value of %u\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,uVar21,uVar8,uVar2);" (call_expression "warn(uVar15,uVar21,uVar8,uVar2)" identifier (argument_list "(uVar15,uVar21,uVar8,uVar2)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar21 = (ulong)((uint)uVar21 + 1);" (assignment_expression "uVar21 = (ulong)((uint)uVar21 + 1)" identifier = (call_expression "(ulong)((uint)uVar21 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)uVar21 + 1)" ( (binary_expression "(uint)uVar21 + 1" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) )))) ;) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar21 < local_48)" ( (binary_expression "uVar21 < local_48" identifier < identifier) )) ;) })) (expression_statement "free(local_c0);" (call_expression "free(local_c0)" identifier (argument_list "(local_c0)" ( identifier ))) ;) (if_statement "if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }" if (parenthesized_expression "(*(void **)(param_1 + 0x80) != local_f0)" ( (binary_expression "*(void **)(param_1 + 0x80) != local_f0" (pointer_expression "*(void **)(param_1 + 0x80)" * (cast_expression "(void **)(param_1 + 0x80)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n                    free(local_f0);\n                  }" { (expression_statement "free(local_f0);" (call_expression "free(local_f0)" identifier (argument_list "(local_f0)" ( identifier ))) ;) })) })) }))) })) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "lVar5 = lVar5 + 0x50;" (assignment_expression "lVar5 = lVar5 + 0x50" identifier = (binary_expression "lVar5 + 0x50" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar19 < *(uint *)(param_1 + 100))" ( (binary_expression "uVar19 < *(uint *)(param_1 + 100)" identifier < (pointer_expression "*(uint *)(param_1 + 100)" * (cast_expression "(uint *)(param_1 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) ))))) )) ;) }))) }))) (labeled_statement "LAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;" statement_identifier : (if_statement "if (DAT_00193470 == 0) goto LAB_001239b8;" if (parenthesized_expression "(DAT_00193470 == 0)" ( (binary_expression "DAT_00193470 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001239b8;" goto statement_identifier ;))) (labeled_statement "LAB_0012362e:\n      iVar4 = DAT_00193470;" statement_identifier : (expression_statement "iVar4 = DAT_00193470;" (assignment_expression "iVar4 = DAT_00193470" identifier = identifier) ;)) (if_statement "if (local_a8 == (ulong *)0x0) goto LAB_001239d6;" if (parenthesized_expression "(local_a8 == (ulong *)0x0)" ( (binary_expression "local_a8 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001239d6;" goto statement_identifier ;)) (expression_statement "pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" identifier = (cast_expression "(char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" identifier (argument_list "(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" ( number_literal , (string_literal ""\nHistogram for bucket list length (total of %lu bucket):\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""\nHistogram for bucket list length (total of %lu buckets):\n"" " escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20,local_98);" (call_expression "printf(pcVar20,local_98)" identifier (argument_list "(pcVar20,local_98)" ( identifier , identifier ))) ;) (expression_statement "puVar13 = (ulong *)calloc(local_98,8);" (assignment_expression "puVar13 = (ulong *)calloc(local_98,8)" identifier = (cast_expression "(ulong *)calloc(local_98,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(local_98,8)" identifier (argument_list "(local_98,8)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar20 = "Out of memory allocating space for histogram buckets\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for histogram buckets\n"" identifier = (string_literal ""Out of memory allocating space for histogram buckets\n"" " string_content escape_sequence ")) ;) (if_statement "if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }" if (parenthesized_expression "(puVar13 != (ulong *)0x0)" ( (binary_expression "puVar13 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }" { (expression_statement "pvVar9 = (void *)FUN_0014c850(local_b0,1,5);" (assignment_expression "pvVar9 = (void *)FUN_0014c850(local_b0,1,5)" identifier = (cast_expression "(void *)FUN_0014c850(local_b0,1,5)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014c850(local_b0,1,5)" identifier (argument_list "(local_b0,1,5)" ( identifier , number_literal , number_literal ))))) ;) (expression_statement "memset(pvVar9,0,local_b0);" (call_expression "memset(pvVar9,0,local_b0)" identifier (argument_list "(pvVar9,0,local_b0)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier = (cast_expression "(char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier (argument_list "(0," Length  Number     %% of total  Coverage\n",5)" ( number_literal , (string_literal "" Length  Number     %% of total  Coverage\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" if (parenthesized_expression "(local_98 == 0)" ( (binary_expression "local_98 == 0" identifier == number_literal) )) (compound_statement "{\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }" { (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) (expression_statement "puVar10 = (ulong *)calloc(1,8);" (assignment_expression "puVar10 = (ulong *)calloc(1,8)" identifier = (cast_expression "(ulong *)calloc(1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,8)" identifier (argument_list "(1,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar10 == (ulong *)0x0) goto LAB_001247f5;" if (parenthesized_expression "(puVar10 == (ulong *)0x0)" ( (binary_expression "puVar10 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001247f5;" goto statement_identifier ;)) }) (else_clause "else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" else (compound_statement "{\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar10 = local_a8;" (assignment_expression "puVar10 = local_a8" identifier = identifier) ;) (expression_statement "puVar11 = puVar13;" (assignment_expression "puVar11 = puVar13" identifier = identifier) ;) (do_statement "do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);" do (compound_statement "{\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          }" { (expression_statement "uVar18 = *puVar10;" (assignment_expression "uVar18 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "sVar6 = uVar21 + 1;" (assignment_expression "sVar6 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }" { (expression_statement "uVar17 = *puVar11;" (assignment_expression "uVar17 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "lVar5 = uVar16 - uVar17;" (assignment_expression "lVar5 = uVar16 - uVar17" identifier = (binary_expression "uVar16 - uVar17" identifier - identifier)) ;) (do_statement "do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);" do (compound_statement "{\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              }" { (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = lVar5 + uVar17;" (assignment_expression "uVar16 = lVar5 + uVar17" identifier = (binary_expression "lVar5 + uVar17" identifier + identifier)) ;) (expression_statement "sVar6 = uVar21 + 1;" (assignment_expression "sVar6 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }" if (parenthesized_expression "(uVar21 < uVar17)" ( (binary_expression "uVar21 < uVar17" identifier < identifier) )) (compound_statement "{\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }" { (expression_statement "sVar6 = uVar21 + 2;" (assignment_expression "sVar6 = uVar21 + 2" identifier = (binary_expression "uVar21 + 2" identifier + number_literal)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) })) (if_statement "if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }" if (parenthesized_expression "((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0'))" ( (binary_expression "(local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')" (parenthesized_expression "(local_b0 <= uVar18)" ( (binary_expression "local_b0 <= uVar18" identifier <= identifier) )) || (parenthesized_expression "(*(char *)((long)pvVar9 + uVar18) != '\0')" ( (binary_expression "*(char *)((long)pvVar9 + uVar18) != '\0'" (pointer_expression "*(char *)((long)pvVar9 + uVar18)" * (cast_expression "(char *)((long)pvVar9 + uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar9 + uVar18)" ( (binary_expression "(long)pvVar9 + uVar18" (cast_expression "(long)pvVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }" { (expression_statement "*puVar11 = uVar17;" (assignment_expression "*puVar11 = uVar17" (pointer_expression "*puVar11" * identifier) = identifier) ;) (expression_statement "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);" (assignment_expression "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5)" identifier = (call_expression "dcgettext(0,"histogram chain is corrupt\n",5)" identifier (argument_list "(0,"histogram chain is corrupt\n",5)" ( number_literal , (string_literal ""histogram chain is corrupt\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (goto_statement "goto LAB_001237a1;" goto statement_identifier ;) })) (expression_statement "*(char *)((long)pvVar9 + uVar18) = '\x01';" (assignment_expression "*(char *)((long)pvVar9 + uVar18) = '\x01'" (pointer_expression "*(char *)((long)pvVar9 + uVar18)" * (cast_expression "(char *)((long)pvVar9 + uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar9 + uVar18)" ( (binary_expression "(long)pvVar9 + uVar18" (cast_expression "(long)pvVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);" (assignment_expression "uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8)" identifier = (pointer_expression "*(ulong *)((long)__ptr_00 + uVar18 * 8)" * (cast_expression "(ulong *)((long)__ptr_00 + uVar18 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__ptr_00 + uVar18 * 8)" ( (binary_expression "(long)__ptr_00 + uVar18 * 8" (cast_expression "(long)__ptr_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar18 * 8" identifier * number_literal)) ))))) ;) }) while (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) ;) (expression_statement "*puVar11 = uVar17;" (assignment_expression "*puVar11 = uVar17" (pointer_expression "*puVar11" * identifier) = identifier) ;) })) (labeled_statement "LAB_001237a1:\n            puVar10 = puVar10 + 1;" statement_identifier : (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;)) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_a8 + local_98 != puVar10)" ( (binary_expression "local_a8 + local_98 != puVar10" (binary_expression "local_a8 + local_98" identifier + identifier) != identifier) )) ;) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) (expression_statement "puVar10 = (ulong *)calloc(sVar6,8);" (assignment_expression "puVar10 = (ulong *)calloc(sVar6,8)" identifier = (cast_expression "(ulong *)calloc(sVar6,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(sVar6,8)" identifier (argument_list "(sVar6,8)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }" if (parenthesized_expression "(puVar10 == (ulong *)0x0)" ( (binary_expression "puVar10 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }" { (labeled_statement "LAB_001247f5:\n            free(puVar13);" statement_identifier : (expression_statement "free(puVar13);" (call_expression "free(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;)) (expression_statement "pcVar20 = "Out of memory allocating space for histogram counts\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for histogram counts\n"" identifier = (string_literal ""Out of memory allocating space for histogram counts\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124267;" goto statement_identifier ;) })) (expression_statement "puVar11 = puVar13;" (assignment_expression "puVar11 = puVar13" identifier = identifier) ;) (do_statement "do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);" do (compound_statement "{\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          }" { (expression_statement "uVar18 = *puVar11;" (assignment_expression "uVar18 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar10[uVar18] = puVar10[uVar18] + 1;" (assignment_expression "puVar10[uVar18] = puVar10[uVar18] + 1" (subscript_expression "puVar10[uVar18]" identifier [ identifier ]) = (binary_expression "puVar10[uVar18] + 1" (subscript_expression "puVar10[uVar18]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "dVar3 = ram0x0017c6b0;" (assignment_expression "dVar3 = ram0x0017c6b0" identifier = identifier) ;) }) while (parenthesized_expression "(puVar13 + local_98 != puVar11)" ( (binary_expression "puVar13 + local_98 != puVar11" (binary_expression "puVar13 + local_98" identifier + identifier) != identifier) )) ;) (expression_statement "printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);" (call_expression "printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98)" identifier (argument_list "("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98)" ( (string_literal ""      0  %-10lu (%5.1f%%)\n"" " string_content escape_sequence ") , (binary_expression "((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98" (parenthesized_expression "((double)*puVar10 * ram0x0017c6b0)" ( (binary_expression "(double)*puVar10 * ram0x0017c6b0" (cast_expression "(double)*puVar10" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*puVar10" * identifier)) * identifier) )) / (cast_expression "(double)(long)local_98" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ))) ;) (if_statement "if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }" { (expression_statement "local_e0 = (double)uVar16;" (assignment_expression "local_e0 = (double)uVar16" identifier = (cast_expression "(double)uVar16" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) (do_statement "do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);" do (compound_statement "{\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            }" { (expression_statement "uVar18 = uVar18 + puVar10[uVar16] * uVar16;" (assignment_expression "uVar18 = uVar18 + puVar10[uVar16] * uVar16" identifier = (binary_expression "uVar18 + puVar10[uVar16] * uVar16" identifier + (binary_expression "puVar10[uVar16] * uVar16" (subscript_expression "puVar10[uVar16]" identifier [ identifier ]) * identifier))) ;) (expression_statement "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);" (call_expression "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16)" identifier (argument_list "("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16)" ( (string_literal ""%7lu  %-10lu (%5.1f%%)    %5.1f%%\n"" " string_content escape_sequence ") , (binary_expression "((double)puVar10[uVar16] * dVar3) / (double)(long)local_98" (parenthesized_expression "((double)puVar10[uVar16] * dVar3)" ( (binary_expression "(double)puVar10[uVar16] * dVar3" (cast_expression "(double)puVar10[uVar16]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "puVar10[uVar16]" identifier [ identifier ])) * identifier) )) / (cast_expression "(double)(long)local_98" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "((double)uVar18 * dVar3) / local_e0" (parenthesized_expression "((double)uVar18 * dVar3)" ( (binary_expression "(double)uVar18 * dVar3" (cast_expression "(double)uVar18" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier) , identifier ))) ;) (expression_statement "bVar23 = uVar21 != uVar16;" (assignment_expression "bVar23 = uVar21 != uVar16" identifier = (binary_expression "uVar21 != uVar16" identifier != identifier)) ;) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) })) }))) (expression_statement "free(puVar10);" (call_expression "free(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "free(puVar13);" (call_expression "free(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (goto_statement "goto LAB_001239c4;" goto statement_identifier ;) })) (labeled_statement "LAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);" statement_identifier : (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" identifier = (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) }) (else_clause "else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" else (compound_statement "{\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" { (if_statement "if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }" if (parenthesized_expression "(DAT_00193470 == 0)" ( (binary_expression "DAT_00193470 == 0" identifier == number_literal) )) (compound_statement "{\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }" { (if_statement "if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }" if (parenthesized_expression "(DAT_00193480 != 0)" ( (binary_expression "DAT_00193480 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }" { (if_statement "if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;" if (parenthesized_expression "((DAT_0019349c == 0) && (DAT_00194690 != 0))" ( (binary_expression "(DAT_0019349c == 0) && (DAT_00194690 != 0)" (parenthesized_expression "(DAT_0019349c == 0)" ( (binary_expression "DAT_0019349c == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_00194690 != 0)" ( (binary_expression "DAT_00194690 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_00124120;" goto statement_identifier ;)) (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" identifier = identifier) ;) (if_statement "if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }" if (parenthesized_expression "(DAT_00193540 == 0)" ( (binary_expression "DAT_00193540 == 0" identifier == number_literal) )) (compound_statement "{\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }" { (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0012359b;" goto statement_identifier ;) })) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001234e0:\n          DAT_00193540 = local_a0;" statement_identifier : (expression_statement "DAT_00193540 = local_a0;" (assignment_expression "DAT_00193540 = local_a0" identifier = identifier) ;)) (if_statement "if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;" if (parenthesized_expression "((DAT_0019349c == 0) && (DAT_00194690 != 0))" ( (binary_expression "(DAT_0019349c == 0) && (DAT_00194690 != 0)" (parenthesized_expression "(DAT_0019349c == 0)" ( (binary_expression "DAT_0019349c == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_00194690 != 0)" ( (binary_expression "DAT_00194690 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_001231f2;" goto statement_identifier ;)) (goto_statement "goto LAB_001234ff;" goto statement_identifier ;) })) (expression_statement "local_b0 = DAT_00193540;" (assignment_expression "local_b0 = DAT_00193540" identifier = identifier) ;) (if_statement "if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }" if (parenthesized_expression "(DAT_00193540 != 0)" ( (binary_expression "DAT_00193540 != 0" identifier != number_literal) )) (compound_statement "{\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }" { (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001234ff;" goto statement_identifier ;) })) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0012359b:\n        local_70 = 0;" statement_identifier : (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;)) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001235c8;" goto statement_identifier ;) })) (labeled_statement "LAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);" statement_identifier : (expression_statement "sVar1 = *(short *)(param_1 + 0x52);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x52)" identifier = (pointer_expression "*(short *)(param_1 + 0x52)" * (cast_expression "(short *)(param_1 + 0x52)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x52)" ( (binary_expression "param_1 + 0x52" identifier + number_literal) ))))) ;)) (if_statement "if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }" if (parenthesized_expression "((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70))" ( (binary_expression "(sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)" (parenthesized_expression "(sVar1 == -0x6fda || sVar1 == 0x16)" ( (binary_expression "sVar1 == -0x6fda || sVar1 == 0x16" (binary_expression "sVar1 == -0x6fda" identifier == number_literal) || (binary_expression "sVar1 == 0x16" identifier == number_literal)) )) || (parenthesized_expression "(uVar19 = 4, sVar1 == -0x5c70)" ( (comma_expression "uVar19 = 4, sVar1 == -0x5c70" (assignment_expression "uVar19 = 4" identifier = number_literal) , (binary_expression "sVar1 == -0x5c70" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }" { (expression_statement "uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;" (assignment_expression "uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4" identifier = (binary_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4" (binary_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4" (call_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(param_1 + 0x1c) == '\x02')" ( (binary_expression "*(char *)(param_1 + 0x1c) == '\x02'" (pointer_expression "*(char *)(param_1 + 0x1c)" * (cast_expression "(char *)(param_1 + 0x1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) ))) * number_literal) + number_literal)) ;) })) (expression_statement "lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);" (assignment_expression "lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10)" identifier = (call_expression "FUN_00119da0(param_1,DAT_00193580,0x10)" identifier (argument_list "(param_1,DAT_00193580,0x10)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar5 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;) (if_statement "if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }" { (expression_statement "sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" identifier = (call_expression "fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" identifier (argument_list "(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" ( identifier , (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal , (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }" if (parenthesized_expression "(sVar6 != 1)" ( (binary_expression "sVar6 != 1" identifier != number_literal) )) (compound_statement "{\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }" { (expression_statement "pcVar20 = "Failed to read in number of buckets\n";" (assignment_expression "pcVar20 = "Failed to read in number of buckets\n"" identifier = (string_literal ""Failed to read in number of buckets\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001241ba;" goto statement_identifier ;) })) (expression_statement "sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" identifier = (call_expression "fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" identifier (argument_list "(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" ( (pointer_expression "&local_48" & identifier) , (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal , (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar20 = "Failed to read in number of chains\n";" (assignment_expression "pcVar20 = "Failed to read in number of chains\n"" identifier = (string_literal ""Failed to read in number of chains\n"" " string_content escape_sequence ")) ;) (if_statement "if (sVar6 != 1) goto LAB_001241ba;" if (parenthesized_expression "(sVar6 != 1)" ( (binary_expression "sVar6 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001241ba;" goto statement_identifier ;)) (expression_statement "local_98 = (*DAT_00196f88)(local_50,uVar19,5);" (assignment_expression "local_98 = (*DAT_00196f88)(local_50,uVar19,5)" identifier = (call_expression "(*DAT_00196f88)(local_50,uVar19,5)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(local_50,uVar19,5)" ( identifier , identifier , number_literal )))) ;) (expression_statement "local_b0 = (*DAT_00196f88)(&local_48,uVar19);" (assignment_expression "local_b0 = (*DAT_00196f88)(&local_48,uVar19)" identifier = (call_expression "(*DAT_00196f88)(&local_48,uVar19)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(&local_48,uVar19)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (expression_statement "local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );" (assignment_expression "local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" identifier = (cast_expression "(ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" identifier (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" ( (binary_expression "param_1 + 8" identifier + number_literal) , (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) )))) , identifier , identifier ))))) ;) (expression_statement "__ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;" (assignment_expression "__ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" identifier = (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" identifier (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" ( (binary_expression "param_1 + 8" identifier + number_literal) , (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) )))) , identifier , identifier ))))) ;) (if_statement "if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;" if (parenthesized_expression "((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0))" ( (binary_expression "(local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)" (parenthesized_expression "(local_a8 != (ulong *)0x0)" ( (binary_expression "local_a8 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(__ptr_00 != (void *)0x0)" ( (binary_expression "__ptr_00 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_001234aa;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" else (compound_statement "{\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" { (labeled_statement "LAB_001241ba:\n        __ptr_00 = (void *)0x0;" statement_identifier : (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" identifier = (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }" if (parenthesized_expression "(DAT_00193480 == 0)" ( (binary_expression "DAT_00193480 == 0" identifier == number_literal) )) (compound_statement "{\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }" { (expression_statement "free(local_a8);" (call_expression "free(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001234aa;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00124278:\n    uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) }))) (return_statement "return uVar8;" return identifier ;) })))
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nbfd_boolean process_symbol_table(Filedata *filedata)\n\n{\n  bfd_vma *pbVar1;\n  byte bVar2;\n  ushort uVar3;\n  Elf_Internal_Shdr *pEVar4;\n  double dVar5;\n  int iVar6;\n  bfd_boolean bVar7;\n  long lVar8;\n  size_t sVar9;\n  elf_vma eVar10;\n  void *pvVar11;\n  ulong *puVar12;\n  ulong *puVar13;\n  long *__ptr;\n  ulong uVar14;\n  ulong *puVar15;\n  long *plVar16;\n  uchar auVar17 [8];\n  char *pcVar18;\n  Filedata *pFVar19;\n  bfd_vma *__ptr_00;\n  ulong uVar20;\n  ulong uVar21;\n  ulong uVar22;\n  uint uVar23;\n  Elf_Internal_Sym *psym;\n  uint uVar24;\n  bfd_vma bVar25;\n  char *pcVar26;\n  ulong uVar27;\n  bfd_size_type strtab_size;\n  uint uVar28;\n  Filedata *filedata_1;\n  bool bVar29;\n  char *local_f0;\n  double local_e0;\n  Elf_Internal_Sym *local_c0;\n  bfd_vma local_b0;\n  ulong *local_a8;\n  bfd_vma local_a0;\n  bfd_vma local_98;\n  bfd_vma *local_80;\n  elf_vma local_78;\n  elf_vma local_70;\n  bfd_vma *local_68;\n  ushort vna_other;\n  uchar nb [8];\n  uchar nc [8];\n  uchar local_40 [16];\n  \n  if (do_dyn_syms == 0 && do_syms == 0) {\n    if (do_histogram != 0) {\n      local_98 = dynamic_info[4];\n      if (dynamic_info[4] != 0) goto LAB_00124120;\n      local_b0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (bfd_vma *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = dynamic_info_DT_GNU_HASH;\nLAB_001231f2:\n      dynamic_info_DT_GNU_HASH = local_a0;\n      lVar8 = offset_from_vma(filedata,local_a0,0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }\n      if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (do_dyn_syms != 0) goto LAB_00123c50;\n      if (do_syms == 0) goto LAB_00123620;\n      if (do_using_dynamic == 0) {\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar26);\n      if (do_histogram != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    bVar7 = 1;\n  }\n  else {\n    local_98 = dynamic_info[4];\n    if (dynamic_info[4] == 0) {\n      local_b0 = 0;\n      __ptr_00 = (bfd_vma *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (bfd_vma *)0x0;\n      local_80 = (bfd_vma *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;\n      if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (do_dyn_syms == 0) goto LAB_001242fe;\nLAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;\n      if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }\nLAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;\nLAB_0012362e:\n      bVar7 = do_histogram;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar26,local_98);\n      puVar15 = (ulong *)calloc(local_98,8);\n      pcVar26 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);\n      error(pcVar26);\n    }\n    else {\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    bVar7 = 0;\n  }\n  return bVar7;\n}\n\n" comment (function_definition "bfd_boolean process_symbol_table(Filedata *filedata)\n\n{\n  bfd_vma *pbVar1;\n  byte bVar2;\n  ushort uVar3;\n  Elf_Internal_Shdr *pEVar4;\n  double dVar5;\n  int iVar6;\n  bfd_boolean bVar7;\n  long lVar8;\n  size_t sVar9;\n  elf_vma eVar10;\n  void *pvVar11;\n  ulong *puVar12;\n  ulong *puVar13;\n  long *__ptr;\n  ulong uVar14;\n  ulong *puVar15;\n  long *plVar16;\n  uchar auVar17 [8];\n  char *pcVar18;\n  Filedata *pFVar19;\n  bfd_vma *__ptr_00;\n  ulong uVar20;\n  ulong uVar21;\n  ulong uVar22;\n  uint uVar23;\n  Elf_Internal_Sym *psym;\n  uint uVar24;\n  bfd_vma bVar25;\n  char *pcVar26;\n  ulong uVar27;\n  bfd_size_type strtab_size;\n  uint uVar28;\n  Filedata *filedata_1;\n  bool bVar29;\n  char *local_f0;\n  double local_e0;\n  Elf_Internal_Sym *local_c0;\n  bfd_vma local_b0;\n  ulong *local_a8;\n  bfd_vma local_a0;\n  bfd_vma local_98;\n  bfd_vma *local_80;\n  elf_vma local_78;\n  elf_vma local_70;\n  bfd_vma *local_68;\n  ushort vna_other;\n  uchar nb [8];\n  uchar nc [8];\n  uchar local_40 [16];\n  \n  if (do_dyn_syms == 0 && do_syms == 0) {\n    if (do_histogram != 0) {\n      local_98 = dynamic_info[4];\n      if (dynamic_info[4] != 0) goto LAB_00124120;\n      local_b0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (bfd_vma *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = dynamic_info_DT_GNU_HASH;\nLAB_001231f2:\n      dynamic_info_DT_GNU_HASH = local_a0;\n      lVar8 = offset_from_vma(filedata,local_a0,0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }\n      if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (do_dyn_syms != 0) goto LAB_00123c50;\n      if (do_syms == 0) goto LAB_00123620;\n      if (do_using_dynamic == 0) {\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar26);\n      if (do_histogram != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    bVar7 = 1;\n  }\n  else {\n    local_98 = dynamic_info[4];\n    if (dynamic_info[4] == 0) {\n      local_b0 = 0;\n      __ptr_00 = (bfd_vma *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (bfd_vma *)0x0;\n      local_80 = (bfd_vma *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;\n      if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (do_dyn_syms == 0) goto LAB_001242fe;\nLAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;\n      if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }\nLAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;\nLAB_0012362e:\n      bVar7 = do_histogram;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar26,local_98);\n      puVar15 = (ulong *)calloc(local_98,8);\n      pcVar26 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);\n      error(pcVar26);\n    }\n    else {\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    bVar7 = 0;\n  }\n  return bVar7;\n}" type_identifier (function_declarator "process_symbol_table(Filedata *filedata)" identifier (parameter_list "(Filedata *filedata)" ( (parameter_declaration "Filedata *filedata" type_identifier (pointer_declarator "*filedata" * identifier)) ))) (compound_statement "{\n  bfd_vma *pbVar1;\n  byte bVar2;\n  ushort uVar3;\n  Elf_Internal_Shdr *pEVar4;\n  double dVar5;\n  int iVar6;\n  bfd_boolean bVar7;\n  long lVar8;\n  size_t sVar9;\n  elf_vma eVar10;\n  void *pvVar11;\n  ulong *puVar12;\n  ulong *puVar13;\n  long *__ptr;\n  ulong uVar14;\n  ulong *puVar15;\n  long *plVar16;\n  uchar auVar17 [8];\n  char *pcVar18;\n  Filedata *pFVar19;\n  bfd_vma *__ptr_00;\n  ulong uVar20;\n  ulong uVar21;\n  ulong uVar22;\n  uint uVar23;\n  Elf_Internal_Sym *psym;\n  uint uVar24;\n  bfd_vma bVar25;\n  char *pcVar26;\n  ulong uVar27;\n  bfd_size_type strtab_size;\n  uint uVar28;\n  Filedata *filedata_1;\n  bool bVar29;\n  char *local_f0;\n  double local_e0;\n  Elf_Internal_Sym *local_c0;\n  bfd_vma local_b0;\n  ulong *local_a8;\n  bfd_vma local_a0;\n  bfd_vma local_98;\n  bfd_vma *local_80;\n  elf_vma local_78;\n  elf_vma local_70;\n  bfd_vma *local_68;\n  ushort vna_other;\n  uchar nb [8];\n  uchar nc [8];\n  uchar local_40 [16];\n  \n  if (do_dyn_syms == 0 && do_syms == 0) {\n    if (do_histogram != 0) {\n      local_98 = dynamic_info[4];\n      if (dynamic_info[4] != 0) goto LAB_00124120;\n      local_b0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (bfd_vma *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = dynamic_info_DT_GNU_HASH;\nLAB_001231f2:\n      dynamic_info_DT_GNU_HASH = local_a0;\n      lVar8 = offset_from_vma(filedata,local_a0,0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }\n      if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (do_dyn_syms != 0) goto LAB_00123c50;\n      if (do_syms == 0) goto LAB_00123620;\n      if (do_using_dynamic == 0) {\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar26);\n      if (do_histogram != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    bVar7 = 1;\n  }\n  else {\n    local_98 = dynamic_info[4];\n    if (dynamic_info[4] == 0) {\n      local_b0 = 0;\n      __ptr_00 = (bfd_vma *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (bfd_vma *)0x0;\n      local_80 = (bfd_vma *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;\n      if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (do_dyn_syms == 0) goto LAB_001242fe;\nLAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;\n      if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }\nLAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;\nLAB_0012362e:\n      bVar7 = do_histogram;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar26,local_98);\n      puVar15 = (ulong *)calloc(local_98,8);\n      pcVar26 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);\n      error(pcVar26);\n    }\n    else {\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    bVar7 = 0;\n  }\n  return bVar7;\n}" { (declaration "bfd_vma *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "Elf_Internal_Shdr *pEVar4;" type_identifier (pointer_declarator "*pEVar4" * identifier) ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "bfd_boolean bVar7;" type_identifier identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "elf_vma eVar10;" type_identifier identifier ;) (declaration "void *pvVar11;" primitive_type (pointer_declarator "*pvVar11" * identifier) ;) (declaration "ulong *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "ulong *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "long *__ptr;" (sized_type_specifier "long" long) (pointer_declarator "*__ptr" * identifier) ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "ulong *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "long *plVar16;" (sized_type_specifier "long" long) (pointer_declarator "*plVar16" * identifier) ;) (declaration "uchar auVar17 [8];" type_identifier (array_declarator "auVar17 [8]" identifier [ number_literal ]) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "Filedata *pFVar19;" type_identifier (pointer_declarator "*pFVar19" * identifier) ;) (declaration "bfd_vma *__ptr_00;" type_identifier (pointer_declarator "*__ptr_00" * identifier) ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "ulong uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "Elf_Internal_Sym *psym;" type_identifier (pointer_declarator "*psym" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "bfd_vma bVar25;" type_identifier identifier ;) (declaration "char *pcVar26;" primitive_type (pointer_declarator "*pcVar26" * identifier) ;) (declaration "ulong uVar27;" type_identifier identifier ;) (declaration "bfd_size_type strtab_size;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "Filedata *filedata_1;" type_identifier (pointer_declarator "*filedata_1" * identifier) ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "char *local_f0;" primitive_type (pointer_declarator "*local_f0" * identifier) ;) (declaration "double local_e0;" primitive_type identifier ;) (declaration "Elf_Internal_Sym *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "bfd_vma local_b0;" type_identifier identifier ;) (declaration "ulong *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "bfd_vma local_a0;" type_identifier identifier ;) (declaration "bfd_vma local_98;" type_identifier identifier ;) (declaration "bfd_vma *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "elf_vma local_78;" type_identifier identifier ;) (declaration "elf_vma local_70;" type_identifier identifier ;) (declaration "bfd_vma *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "ushort vna_other;" type_identifier identifier ;) (declaration "uchar nb [8];" type_identifier (array_declarator "nb [8]" identifier [ number_literal ]) ;) (declaration "uchar nc [8];" type_identifier (array_declarator "nc [8]" identifier [ number_literal ]) ;) (declaration "uchar local_40 [16];" type_identifier (array_declarator "local_40 [16]" identifier [ number_literal ]) ;) (if_statement "if (do_dyn_syms == 0 && do_syms == 0) {\n    if (do_histogram != 0) {\n      local_98 = dynamic_info[4];\n      if (dynamic_info[4] != 0) goto LAB_00124120;\n      local_b0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (bfd_vma *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = dynamic_info_DT_GNU_HASH;\nLAB_001231f2:\n      dynamic_info_DT_GNU_HASH = local_a0;\n      lVar8 = offset_from_vma(filedata,local_a0,0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }\n      if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (do_dyn_syms != 0) goto LAB_00123c50;\n      if (do_syms == 0) goto LAB_00123620;\n      if (do_using_dynamic == 0) {\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar26);\n      if (do_histogram != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    bVar7 = 1;\n  }\n  else {\n    local_98 = dynamic_info[4];\n    if (dynamic_info[4] == 0) {\n      local_b0 = 0;\n      __ptr_00 = (bfd_vma *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (bfd_vma *)0x0;\n      local_80 = (bfd_vma *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;\n      if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (do_dyn_syms == 0) goto LAB_001242fe;\nLAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;\n      if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }\nLAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;\nLAB_0012362e:\n      bVar7 = do_histogram;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar26,local_98);\n      puVar15 = (ulong *)calloc(local_98,8);\n      pcVar26 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);\n      error(pcVar26);\n    }\n    else {\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    bVar7 = 0;\n  }" if (parenthesized_expression "(do_dyn_syms == 0 && do_syms == 0)" ( (binary_expression "do_dyn_syms == 0 && do_syms == 0" (binary_expression "do_dyn_syms == 0" identifier == number_literal) && (binary_expression "do_syms == 0" identifier == number_literal)) )) (compound_statement "{\n    if (do_histogram != 0) {\n      local_98 = dynamic_info[4];\n      if (dynamic_info[4] != 0) goto LAB_00124120;\n      local_b0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (bfd_vma *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = dynamic_info_DT_GNU_HASH;\nLAB_001231f2:\n      dynamic_info_DT_GNU_HASH = local_a0;\n      lVar8 = offset_from_vma(filedata,local_a0,0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }\n      if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (do_dyn_syms != 0) goto LAB_00123c50;\n      if (do_syms == 0) goto LAB_00123620;\n      if (do_using_dynamic == 0) {\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar26);\n      if (do_histogram != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    bVar7 = 1;\n  }" { (if_statement "if (do_histogram != 0) {\n      local_98 = dynamic_info[4];\n      if (dynamic_info[4] != 0) goto LAB_00124120;\n      local_b0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (bfd_vma *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = dynamic_info_DT_GNU_HASH;\nLAB_001231f2:\n      dynamic_info_DT_GNU_HASH = local_a0;\n      lVar8 = offset_from_vma(filedata,local_a0,0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }\n      if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (do_dyn_syms != 0) goto LAB_00123c50;\n      if (do_syms == 0) goto LAB_00123620;\n      if (do_using_dynamic == 0) {\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar26);\n      if (do_histogram != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }" if (parenthesized_expression "(do_histogram != 0)" ( (binary_expression "do_histogram != 0" identifier != number_literal) )) (compound_statement "{\n      local_98 = dynamic_info[4];\n      if (dynamic_info[4] != 0) goto LAB_00124120;\n      local_b0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (bfd_vma *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = dynamic_info_DT_GNU_HASH;\nLAB_001231f2:\n      dynamic_info_DT_GNU_HASH = local_a0;\n      lVar8 = offset_from_vma(filedata,local_a0,0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }\n      if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (do_dyn_syms != 0) goto LAB_00123c50;\n      if (do_syms == 0) goto LAB_00123620;\n      if (do_using_dynamic == 0) {\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar26);\n      if (do_histogram != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }" { (expression_statement "local_98 = dynamic_info[4];" (assignment_expression "local_98 = dynamic_info[4]" identifier = (subscript_expression "dynamic_info[4]" identifier [ number_literal ])) ;) (if_statement "if (dynamic_info[4] != 0) goto LAB_00124120;" if (parenthesized_expression "(dynamic_info[4] != 0)" ( (binary_expression "dynamic_info[4] != 0" (subscript_expression "dynamic_info[4]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00124120;" goto statement_identifier ;)) (expression_statement "local_b0 = dynamic_info_DT_GNU_HASH;" (assignment_expression "local_b0 = dynamic_info_DT_GNU_HASH" identifier = identifier) ;) (if_statement "if (dynamic_info_DT_GNU_HASH == 0) {\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }" if (parenthesized_expression "(dynamic_info_DT_GNU_HASH == 0)" ( (binary_expression "dynamic_info_DT_GNU_HASH == 0" identifier == number_literal) )) (compound_statement "{\n        local_98 = dynamic_info_DT_GNU_HASH;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }" { (expression_statement "local_98 = dynamic_info_DT_GNU_HASH;" (assignment_expression "local_98 = dynamic_info_DT_GNU_HASH" identifier = identifier) ;) (expression_statement "__ptr_00 = (bfd_vma *)0x0;" (assignment_expression "__ptr_00 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00123920;" goto statement_identifier ;) })) (expression_statement "__ptr_00 = (bfd_vma *)0x0;" (assignment_expression "__ptr_00 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = dynamic_info_DT_GNU_HASH;" (assignment_expression "local_a0 = dynamic_info_DT_GNU_HASH" identifier = identifier) ;) (labeled_statement "LAB_001231f2:\n      dynamic_info_DT_GNU_HASH = local_a0;" statement_identifier : (expression_statement "dynamic_info_DT_GNU_HASH = local_a0;" (assignment_expression "dynamic_info_DT_GNU_HASH = local_a0" identifier = identifier) ;)) (expression_statement "lVar8 = offset_from_vma(filedata,local_a0,0x10);" (assignment_expression "lVar8 = offset_from_vma(filedata,local_a0,0x10)" identifier = (call_expression "offset_from_vma(filedata,local_a0,0x10)" identifier (argument_list "(filedata,local_a0,0x10)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);" (assignment_expression "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier = (call_expression "fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier (argument_list "((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" ( (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) , (binary_expression "lVar8 + archive_file_offset" identifier + identifier) , number_literal )))) ;) (expression_statement "pcVar26 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar26 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;) (if_statement "if (iVar6 == 0) {\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*byte_get)(nc,4);\n        local_70 = (*byte_get)(nc + 4,4);\n        eVar10 = (*byte_get)(local_40,4);\n        if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }\n        bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;\n        lVar8 = offset_from_vma(filedata,bVar25,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar20 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar20 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar20 - local_70;\n        lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);\n        lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);\n        iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n        if (iVar6 != 0) goto LAB_001248c8;\n        local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);\n        if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;\n      }" { (expression_statement "sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle);" (assignment_expression "sVar9 = fread(nc,0x10,1,(FILE *)filedata->handle)" identifier = (call_expression "fread(nc,0x10,1,(FILE *)filedata->handle)" identifier (argument_list "(nc,0x10,1,(FILE *)filedata->handle)" ( identifier , number_literal , number_literal , (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) )))) ;) (if_statement "if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }" if (parenthesized_expression "(sVar9 != 1)" ( (binary_expression "sVar9 != 1" identifier != number_literal) )) (compound_statement "{\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }" { (expression_statement "pcVar26 = "Failed to read in number of buckets\n";" (assignment_expression "pcVar26 = "Failed to read in number of buckets\n"" identifier = (string_literal ""Failed to read in number of buckets\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124393;" goto statement_identifier ;) })) (expression_statement "local_78 = (*byte_get)(nc,4);" (assignment_expression "local_78 = (*byte_get)(nc,4)" identifier = (call_expression "(*byte_get)(nc,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(nc,4)" ( identifier , number_literal )))) ;) (expression_statement "local_70 = (*byte_get)(nc + 4,4);" (assignment_expression "local_70 = (*byte_get)(nc + 4,4)" identifier = (call_expression "(*byte_get)(nc + 4,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(nc + 4,4)" ( (binary_expression "nc + 4" identifier + number_literal) , number_literal )))) ;) (expression_statement "eVar10 = (*byte_get)(local_40,4);" (assignment_expression "eVar10 = (*byte_get)(local_40,4)" identifier = (call_expression "(*byte_get)(local_40,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(local_40,4)" ( identifier , number_literal )))) ;) (if_statement "if (is_32bit_elf == 0) {\n          lVar8 = eVar10 * 8;\n        }\n        else {\n          lVar8 = eVar10 * 4;\n        }" if (parenthesized_expression "(is_32bit_elf == 0)" ( (binary_expression "is_32bit_elf == 0" identifier == number_literal) )) (compound_statement "{\n          lVar8 = eVar10 * 8;\n        }" { (expression_statement "lVar8 = eVar10 * 8;" (assignment_expression "lVar8 = eVar10 * 8" identifier = (binary_expression "eVar10 * 8" identifier * number_literal)) ;) }) (else_clause "else {\n          lVar8 = eVar10 * 4;\n        }" else (compound_statement "{\n          lVar8 = eVar10 * 4;\n        }" { (expression_statement "lVar8 = eVar10 * 4;" (assignment_expression "lVar8 = eVar10 * 4" identifier = (binary_expression "eVar10 * 4" identifier * number_literal)) ;) }))) (expression_statement "bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8;" (assignment_expression "bVar25 = dynamic_info_DT_GNU_HASH + 0x10 + lVar8" identifier = (binary_expression "dynamic_info_DT_GNU_HASH + 0x10 + lVar8" (binary_expression "dynamic_info_DT_GNU_HASH + 0x10" identifier + number_literal) + identifier)) ;) (expression_statement "lVar8 = offset_from_vma(filedata,bVar25,4);" (assignment_expression "lVar8 = offset_from_vma(filedata,bVar25,4)" identifier = (call_expression "offset_from_vma(filedata,bVar25,4)" identifier (argument_list "(filedata,bVar25,4)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);" (assignment_expression "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier = (call_expression "fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier (argument_list "((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" ( (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) , (binary_expression "lVar8 + archive_file_offset" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(pcVar26);\n          local_78 = 0;\n          local_80 = (bfd_vma *)0x0;\n          goto LAB_001243c5;\n        }" { (expression_statement "pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unable to seek to start of dynamic information\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unable to seek to start of dynamic information\n",5)" identifier (argument_list "(0,"Unable to seek to start of dynamic information\n",5)" ( number_literal , (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar26);" (call_expression "error(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_80 = (bfd_vma *)0x0;" (assignment_expression "local_80 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (expression_statement "local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);" (assignment_expression "local_80 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4)" identifier = (call_expression "get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4)" identifier (argument_list "((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4)" ( (cast_expression "(Filedata *)&filedata->handle" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->handle" & (field_expression "filedata->handle" identifier -> field_identifier))) , (field_expression "filedata->file_size" identifier -> field_identifier) , (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(Filedata *)0x4" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (local_80 == (bfd_vma *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(local_80 == (bfd_vma *)0x0)" ( (binary_expression "local_80 == (bfd_vma *)0x0" identifier == (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" { (labeled_statement "LAB_0012478c:\n          local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (if_statement "if (local_78 == 0) goto LAB_001243c5;" if (parenthesized_expression "(local_78 == 0)" ( (binary_expression "local_78 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;)) (expression_statement "uVar20 = 0xffffffff;" (assignment_expression "uVar20 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);" do (compound_statement "{\n          uVar27 = local_80[local_a0];\n          if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        }" { (expression_statement "uVar27 = local_80[local_a0];" (assignment_expression "uVar27 = local_80[local_a0]" identifier = (subscript_expression "local_80[local_a0]" identifier [ identifier ])) ;) (if_statement "if (uVar27 != 0) {\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n            if (uVar27 < local_70) goto LAB_00124278;\n            if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }\n          }" { (if_statement "if (uVar27 < local_70) goto LAB_00124278;" if (parenthesized_expression "(uVar27 < local_70)" ( (binary_expression "uVar27 < local_70" identifier < identifier) )) (goto_statement "goto LAB_00124278;" goto statement_identifier ;)) (if_statement "if ((uVar20 < uVar27) || (uVar20 == 0xffffffff)) {\n              uVar20 = uVar27;\n            }" if (parenthesized_expression "((uVar20 < uVar27) || (uVar20 == 0xffffffff))" ( (binary_expression "(uVar20 < uVar27) || (uVar20 == 0xffffffff)" (parenthesized_expression "(uVar20 < uVar27)" ( (binary_expression "uVar20 < uVar27" identifier < identifier) )) || (parenthesized_expression "(uVar20 == 0xffffffff)" ( (binary_expression "uVar20 == 0xffffffff" identifier == number_literal) ))) )) (compound_statement "{\n              uVar20 = uVar27;\n            }" { (expression_statement "uVar20 = uVar27;" (assignment_expression "uVar20 = uVar27" identifier = identifier) ;) })) })) (expression_statement "local_a0 = local_a0 + 1;" (assignment_expression "local_a0 = local_a0 + 1" identifier = (binary_expression "local_a0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != local_a0)" ( (binary_expression "local_78 != local_a0" identifier != identifier) )) ;) (if_statement "if (uVar20 == 0xffffffff) goto LAB_0012478c;" if (parenthesized_expression "(uVar20 == 0xffffffff)" ( (binary_expression "uVar20 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0012478c;" goto statement_identifier ;)) (expression_statement "local_78 = uVar20 - local_70;" (assignment_expression "local_78 = uVar20 - local_70" identifier = (binary_expression "uVar20 - local_70" identifier - identifier)) ;) (expression_statement "lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4);" (assignment_expression "lVar8 = offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4)" identifier = (call_expression "offset_from_vma(filedata,bVar25 + (local_a0 + local_78) * 4,4)" identifier (argument_list "(filedata,bVar25 + (local_a0 + local_78) * 4,4)" ( identifier , (binary_expression "bVar25 + (local_a0 + local_78) * 4" identifier + (binary_expression "(local_a0 + local_78) * 4" (parenthesized_expression "(local_a0 + local_78)" ( (binary_expression "local_a0 + local_78" identifier + identifier) )) * number_literal)) , number_literal )))) ;) (expression_statement "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);" (assignment_expression "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier = (call_expression "fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier (argument_list "((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" ( (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) , (binary_expression "lVar8 + archive_file_offset" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar6 != 0) {\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          error(pcVar26);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" { (labeled_statement "LAB_001248c8:\n          pcVar26 = "Unable to seek to start of dynamic information\n";" statement_identifier : (expression_statement "pcVar26 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar26 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_0012340c:\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);" statement_identifier : (expression_statement "pcVar26 = (char *)dcgettext(0,pcVar26,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,pcVar26,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar26,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "error(pcVar26);" (call_expression "error(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (do_statement "do {\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        } while ((eVar10 & 1) == 0);" do (compound_statement "{\n          sVar9 = fread(nc,4,1,(FILE *)filedata->handle);\n          if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          eVar10 = (*byte_get)(nc,4);\n        }" { (expression_statement "sVar9 = fread(nc,4,1,(FILE *)filedata->handle);" (assignment_expression "sVar9 = fread(nc,4,1,(FILE *)filedata->handle)" identifier = (call_expression "fread(nc,4,1,(FILE *)filedata->handle)" identifier (argument_list "(nc,4,1,(FILE *)filedata->handle)" ( identifier , number_literal , number_literal , (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) )))) ;) (if_statement "if (sVar9 != 1) {\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }" if (parenthesized_expression "(sVar9 != 1)" ( (binary_expression "sVar9 != 1" identifier != number_literal) )) (compound_statement "{\n            pcVar26 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }" { (expression_statement "pcVar26 = "Failed to determine last chain length\n";" (assignment_expression "pcVar26 = "Failed to determine last chain length\n"" identifier = (string_literal ""Failed to determine last chain length\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0012340c;" goto statement_identifier ;) })) (if_statement "if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;" if (parenthesized_expression "(local_78 == 0xffffffffffffffff)" ( (binary_expression "local_78 == 0xffffffffffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0012478c;" goto statement_identifier ;)) (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "eVar10 = (*byte_get)(nc,4);" (assignment_expression "eVar10 = (*byte_get)(nc,4)" identifier = (call_expression "(*byte_get)(nc,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(nc,4)" ( identifier , number_literal )))) ;) }) while (parenthesized_expression "((eVar10 & 1) == 0)" ( (binary_expression "(eVar10 & 1) == 0" (parenthesized_expression "(eVar10 & 1)" ( (binary_expression "eVar10 & 1" identifier & number_literal) )) == number_literal) )) ;) (expression_statement "lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4);" (assignment_expression "lVar8 = offset_from_vma(filedata,bVar25 + local_a0 * 4,4)" identifier = (call_expression "offset_from_vma(filedata,bVar25 + local_a0 * 4,4)" identifier (argument_list "(filedata,bVar25 + local_a0 * 4,4)" ( identifier , (binary_expression "bVar25 + local_a0 * 4" identifier + (binary_expression "local_a0 * 4" identifier * number_literal)) , number_literal )))) ;) (expression_statement "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);" (assignment_expression "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier = (call_expression "fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier (argument_list "((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" ( (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) , (binary_expression "lVar8 + archive_file_offset" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar6 != 0) goto LAB_001248c8;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001248c8;" goto statement_identifier ;)) (expression_statement "local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4);" (assignment_expression "local_68 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4)" identifier = (call_expression "get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4)" identifier (argument_list "((Filedata *)&filedata->handle,filedata->file_size,(uint)local_78\n                                    ,(Filedata *)0x4)" ( (cast_expression "(Filedata *)&filedata->handle" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->handle" & (field_expression "filedata->handle" identifier -> field_identifier))) , (field_expression "filedata->file_size" identifier -> field_identifier) , (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(Filedata *)0x4" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (local_68 == (bfd_vma *)0x0) goto LAB_001243c5;" if (parenthesized_expression "(local_68 == (bfd_vma *)0x0)" ( (binary_expression "local_68 == (bfd_vma *)0x0" identifier == (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }" else (compound_statement "{\nLAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (bfd_vma *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (do_using_dynamic != 0) goto LAB_00124278;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a0 = 0;\n      }" { (labeled_statement "LAB_00124393:\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);" statement_identifier : (expression_statement "pcVar26 = (char *)dcgettext(0,pcVar26,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,pcVar26,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar26,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "error(pcVar26);" (call_expression "error(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_80 = (bfd_vma *)0x0;" (assignment_expression "local_80 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001243c5:\n        free(local_80);" statement_identifier : (expression_statement "free(local_80);" (call_expression "free(local_80)" identifier (argument_list "(local_80)" ( identifier ))) ;)) (if_statement "if (do_using_dynamic != 0) goto LAB_00124278;" if (parenthesized_expression "(do_using_dynamic != 0)" ( (binary_expression "do_using_dynamic != 0" identifier != number_literal) )) (goto_statement "goto LAB_00124278;" goto statement_identifier ;)) (expression_statement "local_68 = (bfd_vma *)0x0;" (assignment_expression "local_68 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (bfd_vma *)0x0;" (assignment_expression "local_80 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) }))) (if_statement "if (dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0) goto LAB_001235c8;" if (parenthesized_expression "(dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0)" ( (binary_expression "dynamic_info[4] != 0 || dynamic_info_DT_GNU_HASH != 0" (binary_expression "dynamic_info[4] != 0" (subscript_expression "dynamic_info[4]" identifier [ number_literal ]) != number_literal) || (binary_expression "dynamic_info_DT_GNU_HASH != 0" identifier != number_literal)) )) (goto_statement "goto LAB_001235c8;" goto statement_identifier ;)) (labeled_statement "LAB_0012395b:\n      if (do_dyn_syms != 0) goto LAB_00123c50;" statement_identifier : (if_statement "if (do_dyn_syms != 0) goto LAB_00123c50;" if (parenthesized_expression "(do_dyn_syms != 0)" ( (binary_expression "do_dyn_syms != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123c50;" goto statement_identifier ;))) (if_statement "if (do_syms == 0) goto LAB_00123620;" if (parenthesized_expression "(do_syms == 0)" ( (binary_expression "do_syms == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123620;" goto statement_identifier ;)) (if_statement "if (do_using_dynamic == 0) {\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }" if (parenthesized_expression "(do_using_dynamic == 0)" ( (binary_expression "do_using_dynamic == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;\n        if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;\n      }" { (labeled_statement "LAB_001242fe:\n        filedata_1 = (Filedata *)filedata->section_headers;" statement_identifier : (expression_statement "filedata_1 = (Filedata *)filedata->section_headers;" (assignment_expression "filedata_1 = (Filedata *)filedata->section_headers" identifier = (cast_expression "(Filedata *)filedata->section_headers" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->section_headers" identifier -> field_identifier))) ;)) (if_statement "if (filedata_1 != (Filedata *)0x0) goto LAB_00123c5d;" if (parenthesized_expression "(filedata_1 != (Filedata *)0x0)" ( (binary_expression "filedata_1 != (Filedata *)0x0" identifier != (cast_expression "(Filedata *)0x0" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00123c5d;" goto statement_identifier ;)) })) (labeled_statement "LAB_00123987:\n      pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);" statement_identifier : (expression_statement "pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" identifier (argument_list "(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" ( number_literal , (string_literal ""\nDynamic symbol information is not available for displaying symbols.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar26);" (call_expression "printf(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (if_statement "if (do_histogram != 0) goto LAB_0012362e;" if (parenthesized_expression "(do_histogram != 0)" ( (binary_expression "do_histogram != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012362e;" goto statement_identifier ;)) (labeled_statement "LAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" statement_identifier : (if_statement "if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" if (parenthesized_expression "(local_a8 != (ulong *)0x0)" ( (binary_expression "local_a8 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001239c4:\n        bVar7 = do_histogram;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" { (labeled_statement "LAB_001239c4:\n        bVar7 = do_histogram;" statement_identifier : (expression_statement "bVar7 = do_histogram;" (assignment_expression "bVar7 = do_histogram" identifier = identifier) ;)) (expression_statement "free(local_a8);" (call_expression "free(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (labeled_statement "LAB_001239d6:\n        if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" statement_identifier : (if_statement "if ((bVar7 != 0) && (local_80 != (bfd_vma *)0x0)) {\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" if (parenthesized_expression "((bVar7 != 0) && (local_80 != (bfd_vma *)0x0))" ( (binary_expression "(bVar7 != 0) && (local_80 != (bfd_vma *)0x0)" (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_80 != (bfd_vma *)0x0)" ( (binary_expression "local_80 != (bfd_vma *)0x0" identifier != (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar26,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar26);\n          if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }\n          free(puVar15);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" { (expression_statement "pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);" (assignment_expression "pcVar26 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" identifier (argument_list "(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" ( number_literal , (string_literal ""\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar26,local_a0);" (call_expression "printf(pcVar26,local_a0)" identifier (argument_list "(pcVar26,local_a0)" ( identifier , identifier ))) ;) (expression_statement "__ptr = (long *)calloc(local_a0,8);" (assignment_expression "__ptr = (long *)calloc(local_a0,8)" identifier = (cast_expression "(long *)calloc(local_a0,8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(local_a0,8)" identifier (argument_list "(local_a0,8)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar26 = "Out of memory allocating space for gnu histogram buckets\n";" (assignment_expression "pcVar26 = "Out of memory allocating space for gnu histogram buckets\n"" identifier = (string_literal ""Out of memory allocating space for gnu histogram buckets\n"" " string_content escape_sequence ")) ;) (if_statement "if (__ptr == (long *)0x0) goto LAB_00124267;" if (parenthesized_expression "(__ptr == (long *)0x0)" ( (binary_expression "__ptr == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00124267;" goto statement_identifier ;)) (expression_statement "pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);" (assignment_expression "pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier = (cast_expression "(char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier (argument_list "(0," Length  Number     %% of total  Coverage\n",5)" ( number_literal , (string_literal "" Length  Number     %% of total  Coverage\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar26);" (call_expression "printf(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (if_statement "if (local_a0 == 0) {\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar15 = (ulong *)calloc(1,8);\n            if (puVar15 == (ulong *)0x0) goto LAB_00124253;\n          }" { (expression_statement "puVar15 = (ulong *)calloc(1,8);" (assignment_expression "puVar15 = (ulong *)calloc(1,8)" identifier = (cast_expression "(ulong *)calloc(1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,8)" identifier (argument_list "(1,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar15 == (ulong *)0x0) goto LAB_00124253;" if (parenthesized_expression "(puVar15 == (ulong *)0x0)" ( (binary_expression "puVar15 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00124253;" goto statement_identifier ;)) }) (else_clause "else {\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }" else (compound_statement "{\n            uVar27 = 0;\n            uVar20 = 0;\n            sVar9 = 0;\n            do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);\nLAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);\n            if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar16 = __ptr;\n            do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }\n          }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "sVar9 = 0;" (assignment_expression "sVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            } while (sVar9 != local_a0);" do (compound_statement "{\n              while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }\n              sVar9 = sVar9 + 1;\n            }" { (while_statement "while (bVar25 = local_80[sVar9], bVar25 != 0) {\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }" while (parenthesized_expression "(bVar25 = local_80[sVar9], bVar25 != 0)" ( (comma_expression "bVar25 = local_80[sVar9], bVar25 != 0" (assignment_expression "bVar25 = local_80[sVar9]" identifier = (subscript_expression "local_80[sVar9]" identifier [ identifier ])) , (binary_expression "bVar25 != 0" identifier != number_literal)) )) (compound_statement "{\n                if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }\n                uVar27 = uVar27 + uVar14;\n                sVar9 = sVar9 + 1;\n                if (sVar9 == local_a0) goto LAB_00123afb;\n              }" { (if_statement "if (bVar25 - local_70 < local_78) {\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }\n                else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }" if (parenthesized_expression "(bVar25 - local_70 < local_78)" ( (binary_expression "bVar25 - local_70 < local_78" (binary_expression "bVar25 - local_70" identifier - identifier) < identifier) )) (compound_statement "{\n                  uVar21 = local_68[bVar25 - local_70];\n                  uVar22 = (ulong)((uint)uVar21 & 1);\n                  if ((uVar21 & 1) != 0) goto LAB_00123ae4;\n                  uVar22 = (local_70 - bVar25) + local_78 + 1;\n                  uVar21 = 1;\n                  do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);\n                  __ptr[sVar9] = uVar14;\n                  if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }\n                }" { (expression_statement "uVar21 = local_68[bVar25 - local_70];" (assignment_expression "uVar21 = local_68[bVar25 - local_70]" identifier = (subscript_expression "local_68[bVar25 - local_70]" identifier [ (binary_expression "bVar25 - local_70" identifier - identifier) ])) ;) (expression_statement "uVar22 = (ulong)((uint)uVar21 & 1);" (assignment_expression "uVar22 = (ulong)((uint)uVar21 & 1)" identifier = (call_expression "(ulong)((uint)uVar21 & 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)uVar21 & 1)" ( (binary_expression "(uint)uVar21 & 1" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if ((uVar21 & 1) != 0) goto LAB_00123ae4;" if (parenthesized_expression "((uVar21 & 1) != 0)" ( (binary_expression "(uVar21 & 1) != 0" (parenthesized_expression "(uVar21 & 1)" ( (binary_expression "uVar21 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00123ae4;" goto statement_identifier ;)) (expression_statement "uVar22 = (local_70 - bVar25) + local_78 + 1;" (assignment_expression "uVar22 = (local_70 - bVar25) + local_78 + 1" identifier = (binary_expression "(local_70 - bVar25) + local_78 + 1" (binary_expression "(local_70 - bVar25) + local_78" (parenthesized_expression "(local_70 - bVar25)" ( (binary_expression "local_70 - bVar25" identifier - identifier) )) + identifier) + number_literal)) ;) (expression_statement "uVar21 = 1;" (assignment_expression "uVar21 = 1" identifier = number_literal) ;) (do_statement "do {\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  } while ((*puVar15 & 1) == 0);" do (compound_statement "{\n                    uVar14 = uVar21 + 1;\n                    if (uVar14 == uVar22) goto LAB_00123ae4;\n                    puVar15 = local_68 + (bVar25 - local_70) + uVar21;\n                    uVar21 = uVar14;\n                  }" { (expression_statement "uVar14 = uVar21 + 1;" (assignment_expression "uVar14 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar14 == uVar22) goto LAB_00123ae4;" if (parenthesized_expression "(uVar14 == uVar22)" ( (binary_expression "uVar14 == uVar22" identifier == identifier) )) (goto_statement "goto LAB_00123ae4;" goto statement_identifier ;)) (expression_statement "puVar15 = local_68 + (bVar25 - local_70) + uVar21;" (assignment_expression "puVar15 = local_68 + (bVar25 - local_70) + uVar21" identifier = (binary_expression "local_68 + (bVar25 - local_70) + uVar21" (binary_expression "local_68 + (bVar25 - local_70)" identifier + (parenthesized_expression "(bVar25 - local_70)" ( (binary_expression "bVar25 - local_70" identifier - identifier) ))) + identifier)) ;) (expression_statement "uVar21 = uVar14;" (assignment_expression "uVar21 = uVar14" identifier = identifier) ;) }) while (parenthesized_expression "((*puVar15 & 1) == 0)" ( (binary_expression "(*puVar15 & 1) == 0" (parenthesized_expression "(*puVar15 & 1)" ( (binary_expression "*puVar15 & 1" (pointer_expression "*puVar15" * identifier) & number_literal) )) == number_literal) )) ;) (expression_statement "__ptr[sVar9] = uVar14;" (assignment_expression "__ptr[sVar9] = uVar14" (subscript_expression "__ptr[sVar9]" identifier [ identifier ]) = identifier) ;) (if_statement "if (uVar20 < uVar14) {\n                    uVar20 = uVar14;\n                  }" if (parenthesized_expression "(uVar20 < uVar14)" ( (binary_expression "uVar20 < uVar14" identifier < identifier) )) (compound_statement "{\n                    uVar20 = uVar14;\n                  }" { (expression_statement "uVar20 = uVar14;" (assignment_expression "uVar20 = uVar14" identifier = identifier) ;) })) }) (else_clause "else {\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }" else (compound_statement "{\n                  uVar22 = 1;\nLAB_00123ae4:\n                  __ptr[sVar9] = uVar22;\n                  uVar14 = uVar22;\n                  if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }\n                }" { (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00123ae4:\n                  __ptr[sVar9] = uVar22;" statement_identifier : (expression_statement "__ptr[sVar9] = uVar22;" (assignment_expression "__ptr[sVar9] = uVar22" (subscript_expression "__ptr[sVar9]" identifier [ identifier ]) = identifier) ;)) (expression_statement "uVar14 = uVar22;" (assignment_expression "uVar14 = uVar22" identifier = identifier) ;) (if_statement "if (uVar20 < uVar22) {\n                    uVar20 = uVar22;\n                  }" if (parenthesized_expression "(uVar20 < uVar22)" ( (binary_expression "uVar20 < uVar22" identifier < identifier) )) (compound_statement "{\n                    uVar20 = uVar22;\n                  }" { (expression_statement "uVar20 = uVar22;" (assignment_expression "uVar20 = uVar22" identifier = identifier) ;) })) }))) (expression_statement "uVar27 = uVar27 + uVar14;" (assignment_expression "uVar27 = uVar27 + uVar14" identifier = (binary_expression "uVar27 + uVar14" identifier + identifier)) ;) (expression_statement "sVar9 = sVar9 + 1;" (assignment_expression "sVar9 = sVar9 + 1" identifier = (binary_expression "sVar9 + 1" identifier + number_literal)) ;) (if_statement "if (sVar9 == local_a0) goto LAB_00123afb;" if (parenthesized_expression "(sVar9 == local_a0)" ( (binary_expression "sVar9 == local_a0" identifier == identifier) )) (goto_statement "goto LAB_00123afb;" goto statement_identifier ;)) })) (expression_statement "sVar9 = sVar9 + 1;" (assignment_expression "sVar9 = sVar9 + 1" identifier = (binary_expression "sVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar9 != local_a0)" ( (binary_expression "sVar9 != local_a0" identifier != identifier) )) ;) (labeled_statement "LAB_00123afb:\n            puVar15 = (ulong *)calloc(uVar20 + 1,8);" statement_identifier : (expression_statement "puVar15 = (ulong *)calloc(uVar20 + 1,8);" (assignment_expression "puVar15 = (ulong *)calloc(uVar20 + 1,8)" identifier = (cast_expression "(ulong *)calloc(uVar20 + 1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(uVar20 + 1,8)" identifier (argument_list "(uVar20 + 1,8)" ( (binary_expression "uVar20 + 1" identifier + number_literal) , number_literal ))))) ;)) (if_statement "if (puVar15 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }" if (parenthesized_expression "(puVar15 == (ulong *)0x0)" ( (binary_expression "puVar15 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00124253:\n              free(__ptr);\n              pcVar26 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }" { (labeled_statement "LAB_00124253:\n              free(__ptr);" statement_identifier : (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;)) (expression_statement "pcVar26 = "Out of memory allocating space for gnu histogram counts\n";" (assignment_expression "pcVar26 = "Out of memory allocating space for gnu histogram counts\n"" identifier = (string_literal ""Out of memory allocating space for gnu histogram counts\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124267;" goto statement_identifier ;) })) (expression_statement "plVar16 = __ptr;" (assignment_expression "plVar16 = __ptr" identifier = identifier) ;) (do_statement "do {\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar16);" do (compound_statement "{\n              lVar8 = *plVar16;\n              plVar16 = plVar16 + 1;\n              puVar15[lVar8] = puVar15[lVar8] + 1;\n              dVar5 = ram0x0017c6b0;\n            }" { (expression_statement "lVar8 = *plVar16;" (assignment_expression "lVar8 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (expression_statement "plVar16 = plVar16 + 1;" (assignment_expression "plVar16 = plVar16 + 1" identifier = (binary_expression "plVar16 + 1" identifier + number_literal)) ;) (expression_statement "puVar15[lVar8] = puVar15[lVar8] + 1;" (assignment_expression "puVar15[lVar8] = puVar15[lVar8] + 1" (subscript_expression "puVar15[lVar8]" identifier [ identifier ]) = (binary_expression "puVar15[lVar8] + 1" (subscript_expression "puVar15[lVar8]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "dVar5 = ram0x0017c6b0;" (assignment_expression "dVar5 = ram0x0017c6b0" identifier = identifier) ;) }) while (parenthesized_expression "(__ptr + local_a0 != plVar16)" ( (binary_expression "__ptr + local_a0 != plVar16" (binary_expression "__ptr + local_a0" identifier + identifier) != identifier) )) ;) (expression_statement "printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0);" (call_expression "printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0)" identifier (argument_list "("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0)" ( (string_literal ""      0  %-10lu (%5.1f%%)\n"" " string_content escape_sequence ") , (binary_expression "((double)*puVar15 * ram0x0017c6b0) / (double)(long)local_a0" (parenthesized_expression "((double)*puVar15 * ram0x0017c6b0)" ( (binary_expression "(double)*puVar15 * ram0x0017c6b0" (cast_expression "(double)*puVar15" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*puVar15" * identifier)) * identifier) )) / (cast_expression "(double)(long)local_a0" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ))) ;) (if_statement "if (uVar20 != 0) {\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n              local_e0 = (double)uVar27;\n              uVar22 = 0;\n              uVar27 = 1;\n              do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);\n            }" { (expression_statement "local_e0 = (double)uVar27;" (assignment_expression "local_e0 = (double)uVar27" identifier = (cast_expression "(double)uVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;) (do_statement "do {\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              } while (bVar29);" do (compound_statement "{\n                uVar22 = uVar22 + puVar15[uVar27] * uVar27;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);\n                bVar29 = uVar20 != uVar27;\n                uVar27 = uVar27 + 1;\n              }" { (expression_statement "uVar22 = uVar22 + puVar15[uVar27] * uVar27;" (assignment_expression "uVar22 = uVar22 + puVar15[uVar27] * uVar27" identifier = (binary_expression "uVar22 + puVar15[uVar27] * uVar27" identifier + (binary_expression "puVar15[uVar27] * uVar27" (subscript_expression "puVar15[uVar27]" identifier [ identifier ]) * identifier))) ;) (expression_statement "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27);" (call_expression "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27)" identifier (argument_list "("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0,\n                       ((double)uVar22 * dVar5) / local_e0,uVar27)" ( (string_literal ""%7lu  %-10lu (%5.1f%%)    %5.1f%%\n"" " string_content escape_sequence ") , (binary_expression "((double)puVar15[uVar27] * dVar5) / (double)(long)local_a0" (parenthesized_expression "((double)puVar15[uVar27] * dVar5)" ( (binary_expression "(double)puVar15[uVar27] * dVar5" (cast_expression "(double)puVar15[uVar27]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "puVar15[uVar27]" identifier [ identifier ])) * identifier) )) / (cast_expression "(double)(long)local_a0" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "((double)uVar22 * dVar5) / local_e0" (parenthesized_expression "((double)uVar22 * dVar5)" ( (binary_expression "(double)uVar22 * dVar5" (cast_expression "(double)uVar22" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier) , identifier ))) ;) (expression_statement "bVar29 = uVar20 != uVar27;" (assignment_expression "bVar29 = uVar20 != uVar27" identifier = (binary_expression "uVar20 != uVar27" identifier != identifier)) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) })) }))) (expression_statement "free(puVar15);" (call_expression "free(puVar15)" identifier (argument_list "(puVar15)" ( identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(local_80);" (call_expression "free(local_80)" identifier (argument_list "(local_80)" ( identifier ))) ;) (expression_statement "free(local_68);" (call_expression "free(local_68)" identifier (argument_list "(local_68)" ( identifier ))) ;) }))) }))) })) (expression_statement "bVar7 = 1;" (assignment_expression "bVar7 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    local_98 = dynamic_info[4];\n    if (dynamic_info[4] == 0) {\n      local_b0 = 0;\n      __ptr_00 = (bfd_vma *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (bfd_vma *)0x0;\n      local_80 = (bfd_vma *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;\n      if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (do_dyn_syms == 0) goto LAB_001242fe;\nLAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;\n      if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }\nLAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;\nLAB_0012362e:\n      bVar7 = do_histogram;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar26,local_98);\n      puVar15 = (ulong *)calloc(local_98,8);\n      pcVar26 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);\n      error(pcVar26);\n    }\n    else {\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    bVar7 = 0;\n  }" else (compound_statement "{\n    local_98 = dynamic_info[4];\n    if (dynamic_info[4] == 0) {\n      local_b0 = 0;\n      __ptr_00 = (bfd_vma *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (bfd_vma *)0x0;\n      local_80 = (bfd_vma *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;\n      if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (do_dyn_syms == 0) goto LAB_001242fe;\nLAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;\n      if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }\nLAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;\nLAB_0012362e:\n      bVar7 = do_histogram;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar26,local_98);\n      puVar15 = (ulong *)calloc(local_98,8);\n      pcVar26 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);\n      error(pcVar26);\n    }\n    else {\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    bVar7 = 0;\n  }" { (expression_statement "local_98 = dynamic_info[4];" (assignment_expression "local_98 = dynamic_info[4]" identifier = (subscript_expression "dynamic_info[4]" identifier [ number_literal ])) ;) (if_statement "if (dynamic_info[4] == 0) {\n      local_b0 = 0;\n      __ptr_00 = (bfd_vma *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (bfd_vma *)0x0;\n      local_80 = (bfd_vma *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;\n      if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (do_dyn_syms == 0) goto LAB_001242fe;\nLAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;\n      if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }\nLAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;\nLAB_0012362e:\n      bVar7 = do_histogram;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar26,local_98);\n      puVar15 = (ulong *)calloc(local_98,8);\n      pcVar26 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);\n      error(pcVar26);\n    }\n    else {\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }" if (parenthesized_expression "(dynamic_info[4] == 0)" ( (binary_expression "dynamic_info[4] == 0" (subscript_expression "dynamic_info[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      local_b0 = 0;\n      __ptr_00 = (bfd_vma *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;\n      if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (bfd_vma *)0x0;\n      local_80 = (bfd_vma *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;\n      if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (do_dyn_syms == 0) goto LAB_001242fe;\nLAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;\n      if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }\nLAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;\nLAB_0012362e:\n      bVar7 = do_histogram;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar26,local_98);\n      puVar15 = (ulong *)calloc(local_98,8);\n      pcVar26 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);\n      error(pcVar26);\n    }" { (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (bfd_vma *)0x0;" (assignment_expression "__ptr_00 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001234aa:\n      local_a0 = dynamic_info_DT_GNU_HASH;" statement_identifier : (expression_statement "local_a0 = dynamic_info_DT_GNU_HASH;" (assignment_expression "local_a0 = dynamic_info_DT_GNU_HASH" identifier = identifier) ;)) (if_statement "if (dynamic_info_DT_GNU_HASH == 0) {\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }" if (parenthesized_expression "(dynamic_info_DT_GNU_HASH == 0)" ( (binary_expression "dynamic_info_DT_GNU_HASH == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }" { (labeled_statement "LAB_00123920:\n        if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" statement_identifier : (if_statement "if (dynamic_info[4] == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" if (parenthesized_expression "(dynamic_info[4] == 0)" ( (binary_expression "dynamic_info[4] == 0" (subscript_expression "dynamic_info[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (bfd_vma *)0x0;\n          local_80 = (bfd_vma *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (bfd_vma *)0x0;" (assignment_expression "local_68 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (bfd_vma *)0x0;" (assignment_expression "local_80 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0012395b;" goto statement_identifier ;) }))) }) (else_clause "else {\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }" else (compound_statement "{\n        if (do_histogram != 0) goto LAB_001231f2;\n        if (do_using_dynamic != 0) goto LAB_001234e0;\n      }" { (if_statement "if (do_histogram != 0) goto LAB_001231f2;" if (parenthesized_expression "(do_histogram != 0)" ( (binary_expression "do_histogram != 0" identifier != number_literal) )) (goto_statement "goto LAB_001231f2;" goto statement_identifier ;)) (if_statement "if (do_using_dynamic != 0) goto LAB_001234e0;" if (parenthesized_expression "(do_using_dynamic != 0)" ( (binary_expression "do_using_dynamic != 0" identifier != number_literal) )) (goto_statement "goto LAB_001234e0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_001234ff:\n      local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (bfd_vma *)0x0;" (assignment_expression "local_68 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (bfd_vma *)0x0;" (assignment_expression "local_80 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001235c8:\n      if (do_syms == 0) goto LAB_0012395b;" statement_identifier : (if_statement "if (do_syms == 0) goto LAB_0012395b;" if (parenthesized_expression "(do_syms == 0)" ( (binary_expression "do_syms == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012395b;" goto statement_identifier ;))) (if_statement "if (do_using_dynamic != 0) {\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }" if (parenthesized_expression "(do_using_dynamic != 0)" ( (binary_expression "do_using_dynamic != 0" identifier != number_literal) )) (compound_statement "{\n        if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }" { (if_statement "if ((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)) {\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }" if (parenthesized_expression "((dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0))" ( (binary_expression "(dynamic_strings == (char *)0x0) || (dynamic_symbols == (Elf_Internal_Sym *)0x0)" (parenthesized_expression "(dynamic_strings == (char *)0x0)" ( (binary_expression "dynamic_strings == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(dynamic_symbols == (Elf_Internal_Sym *)0x0)" ( (binary_expression "dynamic_symbols == (Elf_Internal_Sym *)0x0" identifier == (cast_expression "(Elf_Internal_Sym *)0x0" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          if (do_dyn_syms != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }" { (if_statement "if (do_dyn_syms != 0) goto LAB_00123c50;" if (parenthesized_expression "(do_dyn_syms != 0)" ( (binary_expression "do_dyn_syms != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123c50;" goto statement_identifier ;)) (goto_statement "goto LAB_00123987;" goto statement_identifier ;) })) (if_statement "if (dynamic_info[4] != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }" if (parenthesized_expression "(dynamic_info[4] != 0)" ( (binary_expression "dynamic_info[4] != 0" (subscript_expression "dynamic_info[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          pvVar11 = xcmalloc(local_b0,1);\n          uVar20 = 0;\n          memset(pvVar11,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }\n          free(pvVar11);\n        }" { (expression_statement "pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,"\nSymbol table for image:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table for image:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table for image:\n",5)" identifier (argument_list "(0,"\nSymbol table for image:\n",5)" ( number_literal , (string_literal ""\nSymbol table for image:\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar26);" (call_expression "printf(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (expression_statement "pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" if (parenthesized_expression "(is_32bit_elf == 0)" ( (binary_expression "is_32bit_elf == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" { (expression_statement "pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "pcVar26 = (char *)dcgettext(0,pcVar26,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,pcVar26,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar26,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar26);" (call_expression "printf(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (expression_statement "pvVar11 = xcmalloc(local_b0,1);" (assignment_expression "pvVar11 = xcmalloc(local_b0,1)" identifier = (call_expression "xcmalloc(local_b0,1)" identifier (argument_list "(local_b0,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "memset(pvVar11,0,local_b0);" (call_expression "memset(pvVar11,0,local_b0)" identifier (argument_list "(pvVar11,0,local_b0)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (local_98 != 0) {\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }" if (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);\n          }" { (do_statement "do {\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            } while (local_98 != uVar20);" do (compound_statement "{\n              for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }\n              uVar20 = uVar20 + 1;\n            }" { (for_statement "for (bVar25 = local_a8[uVar20]; bVar25 != 0; bVar25 = __ptr_00[bVar25]) {\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }" for ( (assignment_expression "bVar25 = local_a8[uVar20]" identifier = (subscript_expression "local_a8[uVar20]" identifier [ identifier ])) ; (binary_expression "bVar25 != 0" identifier != number_literal) ; (assignment_expression "bVar25 = __ptr_00[bVar25]" identifier = (subscript_expression "__ptr_00[bVar25]" identifier [ identifier ])) ) (compound_statement "{\n                print_dynamic_symbol(filedata,bVar25,uVar20);\n                if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }\n                *(char *)((long)pvVar11 + bVar25) = '\x01';\n              }" { (expression_statement "print_dynamic_symbol(filedata,bVar25,uVar20);" (call_expression "print_dynamic_symbol(filedata,bVar25,uVar20)" identifier (argument_list "(filedata,bVar25,uVar20)" ( identifier , identifier , identifier ))) ;) (if_statement "if ((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')) {\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }" if (parenthesized_expression "((local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0'))" ( (binary_expression "(local_b0 <= bVar25) || (*(char *)((long)pvVar11 + bVar25) != '\0')" (parenthesized_expression "(local_b0 <= bVar25)" ( (binary_expression "local_b0 <= bVar25" identifier <= identifier) )) || (parenthesized_expression "(*(char *)((long)pvVar11 + bVar25) != '\0')" ( (binary_expression "*(char *)((long)pvVar11 + bVar25) != '\0'" (pointer_expression "*(char *)((long)pvVar11 + bVar25)" * (cast_expression "(char *)((long)pvVar11 + bVar25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + bVar25)" ( (binary_expression "(long)pvVar11 + bVar25" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  break;\n                }" { (expression_statement "pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"histogram chain is corrupt\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"histogram chain is corrupt\n",5)" identifier (argument_list "(0,"histogram chain is corrupt\n",5)" ( number_literal , (string_literal ""histogram chain is corrupt\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar26);" (call_expression "error(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "*(char *)((long)pvVar11 + bVar25) = '\x01';" (assignment_expression "*(char *)((long)pvVar11 + bVar25) = '\x01'" (pointer_expression "*(char *)((long)pvVar11 + bVar25)" * (cast_expression "(char *)((long)pvVar11 + bVar25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + bVar25)" ( (binary_expression "(long)pvVar11 + bVar25" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (expression_statement "uVar20 = uVar20 + 1;" (assignment_expression "uVar20 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_98 != uVar20)" ( (binary_expression "local_98 != uVar20" identifier != identifier) )) ;) })) (expression_statement "free(pvVar11);" (call_expression "free(pvVar11)" identifier (argument_list "(pvVar11)" ( identifier ))) ;) })) (if_statement "if (dynamic_info_DT_GNU_HASH != 0) {\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }" if (parenthesized_expression "(dynamic_info_DT_GNU_HASH != 0)" ( (binary_expression "dynamic_info_DT_GNU_HASH != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar26);\n          pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          uVar20 = 0;\n          pcVar26 = (char *)dcgettext(0,pcVar26,5);\n          printf(pcVar26);\n          if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }\n        }" { (expression_statement "pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" identifier (argument_list "(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" ( number_literal , (string_literal ""\nSymbol table of `.gnu.hash\' for image:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar26);" (call_expression "printf(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (expression_statement "pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar26 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (is_32bit_elf == 0) {\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" if (parenthesized_expression "(is_32bit_elf == 0)" ( (binary_expression "is_32bit_elf == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" { (expression_statement "pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar26 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "pcVar26 = (char *)dcgettext(0,pcVar26,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,pcVar26,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar26,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar26);" (call_expression "printf(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (if_statement "if (local_a0 != 0) {\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }" if (parenthesized_expression "(local_a0 != 0)" ( (binary_expression "local_a0 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);\n          }" { (do_statement "do {\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            } while (uVar20 != local_a0);" do (compound_statement "{\n              if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }\n              uVar20 = uVar20 + 1;\n            }" { (if_statement "if (local_80[uVar20] != 0) {\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }" if (parenthesized_expression "(local_80[uVar20] != 0)" ( (binary_expression "local_80[uVar20] != 0" (subscript_expression "local_80[uVar20]" identifier [ identifier ]) != number_literal) )) (compound_statement "{\n                uVar27 = local_80[uVar20] - local_70;\n                do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);\n              }" { (expression_statement "uVar27 = local_80[uVar20] - local_70;" (assignment_expression "uVar27 = local_80[uVar20] - local_70" identifier = (binary_expression "local_80[uVar20] - local_70" (subscript_expression "local_80[uVar20]" identifier [ identifier ]) - identifier)) ;) (do_statement "do {\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                } while ((*pbVar1 & 1) == 0);" do (compound_statement "{\n                  print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);\n                  if (local_78 <= uVar27) break;\n                  pbVar1 = local_68 + uVar27;\n                  uVar27 = uVar27 + 1;\n                }" { (expression_statement "print_dynamic_symbol(filedata,uVar27 + local_70,uVar20);" (call_expression "print_dynamic_symbol(filedata,uVar27 + local_70,uVar20)" identifier (argument_list "(filedata,uVar27 + local_70,uVar20)" ( identifier , (binary_expression "uVar27 + local_70" identifier + identifier) , identifier ))) ;) (if_statement "if (local_78 <= uVar27) break;" if (parenthesized_expression "(local_78 <= uVar27)" ( (binary_expression "local_78 <= uVar27" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "pbVar1 = local_68 + uVar27;" (assignment_expression "pbVar1 = local_68 + uVar27" identifier = (binary_expression "local_68 + uVar27" identifier + identifier)) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((*pbVar1 & 1) == 0)" ( (binary_expression "(*pbVar1 & 1) == 0" (parenthesized_expression "(*pbVar1 & 1)" ( (binary_expression "*pbVar1 & 1" (pointer_expression "*pbVar1" * identifier) & number_literal) )) == number_literal) )) ;) })) (expression_statement "uVar20 = uVar20 + 1;" (assignment_expression "uVar20 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar20 != local_a0)" ( (binary_expression "uVar20 != local_a0" identifier != identifier) )) ;) })) })) (goto_statement "goto LAB_00123620;" goto statement_identifier ;) })) (if_statement "if (do_dyn_syms == 0) goto LAB_001242fe;" if (parenthesized_expression "(do_dyn_syms == 0)" ( (binary_expression "do_dyn_syms == 0" identifier == number_literal) )) (goto_statement "goto LAB_001242fe;" goto statement_identifier ;)) (labeled_statement "LAB_00123c50:\n      filedata_1 = (Filedata *)filedata->section_headers;" statement_identifier : (expression_statement "filedata_1 = (Filedata *)filedata->section_headers;" (assignment_expression "filedata_1 = (Filedata *)filedata->section_headers" identifier = (cast_expression "(Filedata *)filedata->section_headers" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->section_headers" identifier -> field_identifier))) ;)) (if_statement "if (filedata_1 == (Filedata *)0x0) {\n        if (do_syms != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }" if (parenthesized_expression "(filedata_1 == (Filedata *)0x0)" ( (binary_expression "filedata_1 == (Filedata *)0x0" identifier == (cast_expression "(Filedata *)0x0" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (do_syms != 0) goto LAB_00123987;\n      }" { (if_statement "if (do_syms != 0) goto LAB_00123987;" if (parenthesized_expression "(do_syms != 0)" ( (binary_expression "do_syms != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123987;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }" else (compound_statement "{\nLAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }\n      }" { (labeled_statement "LAB_00123c5d:\n        if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }" statement_identifier : (if_statement "if ((filedata->file_header).e_shnum != 0) {\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }" if (parenthesized_expression "((filedata->file_header).e_shnum != 0)" ( (binary_expression "(filedata->file_header).e_shnum != 0" (field_expression "(filedata->file_header).e_shnum" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n          uVar23 = 0;\n          do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);\n        }" { (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (do_statement "do {\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          } while (uVar23 < (filedata->file_header).e_shnum);" do (compound_statement "{\n            iVar6 = *(int *)((long)&filedata_1->file_name + 4);\n            if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar23 = uVar23 + 1;\n            filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;\n          }" { (expression_statement "iVar6 = *(int *)((long)&filedata_1->file_name + 4);" (assignment_expression "iVar6 = *(int *)((long)&filedata_1->file_name + 4)" identifier = (pointer_expression "*(int *)((long)&filedata_1->file_name + 4)" * (cast_expression "(int *)((long)&filedata_1->file_name + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&filedata_1->file_name + 4)" ( (binary_expression "(long)&filedata_1->file_name + 4" (cast_expression "(long)&filedata_1->file_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&filedata_1->file_name" & (field_expression "filedata_1->file_name" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))) {\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2))))" ( (binary_expression "((iVar6 == 2) || (iVar6 == 0xb)) && ((do_syms != 0 || (iVar6 != 2)))" (parenthesized_expression "((iVar6 == 2) || (iVar6 == 0xb))" ( (binary_expression "(iVar6 == 2) || (iVar6 == 0xb)" (parenthesized_expression "(iVar6 == 2)" ( (binary_expression "iVar6 == 2" identifier == number_literal) )) || (parenthesized_expression "(iVar6 == 0xb)" ( (binary_expression "iVar6 == 0xb" identifier == number_literal) ))) )) && (parenthesized_expression "((do_syms != 0 || (iVar6 != 2)))" ( (parenthesized_expression "(do_syms != 0 || (iVar6 != 2))" ( (binary_expression "do_syms != 0 || (iVar6 != 2)" (binary_expression "do_syms != 0" identifier != number_literal) || (parenthesized_expression "(iVar6 != 2)" ( (binary_expression "iVar6 != 2" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n              uVar20 = (filedata_1->file_header).e_shoff;\n              if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }" { (expression_statement "uVar20 = (filedata_1->file_header).e_shoff;" (assignment_expression "uVar20 = (filedata_1->file_header).e_shoff" identifier = (field_expression "(filedata_1->file_header).e_shoff" (parenthesized_expression "(filedata_1->file_header)" ( (field_expression "filedata_1->file_header" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar20 == 0) {\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }\n              else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar18,pcVar26);\n              }" { (expression_statement "pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;" (assignment_expression "pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)" identifier = (call_expression "printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)" identifier (argument_list "((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)" ( (cast_expression "(Filedata *)&filedata->string_table" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->string_table" & (field_expression "filedata->string_table" identifier -> field_identifier))) , (cast_expression "(Elf_Internal_Shdr *)&filedata->string_table_length" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->string_table_length" & (field_expression "filedata->string_table_length" identifier -> field_identifier))) , identifier )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;" (assignment_expression "pcVar18 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" identifier (argument_list "(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" ( number_literal , (string_literal ""\nSymbol table \'%s\' has a sh_entsize of zero!\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar18,pcVar26);" (call_expression "printf(pcVar18,pcVar26)" identifier (argument_list "(pcVar18,pcVar26)" ( identifier , identifier ))) ;) }) (else_clause "else {\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" else (compound_statement "{\n                auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);\n                nc = auVar17;\n                pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;\n                pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);\n                printf(pcVar18,pcVar26,auVar17);\n                pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar26 = (char *)dcgettext(0,pcVar26,5);\n                printf(pcVar26);\n                if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" { (expression_statement "auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20);" (assignment_expression "auVar17 = (uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20)" identifier = (call_expression "(uchar  [8])(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20)" (parenthesized_expression "(uchar  [8])" ( (subscript_expression "uchar  [8]" identifier [ number_literal ]) )) (argument_list "(*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20)" ( (binary_expression "*(ulong *)((filedata_1->file_header).e_ident + 8) / uVar20" (pointer_expression "*(ulong *)((filedata_1->file_header).e_ident + 8)" * (cast_expression "(ulong *)((filedata_1->file_header).e_ident + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((filedata_1->file_header).e_ident + 8)" ( (binary_expression "(filedata_1->file_header).e_ident + 8" (field_expression "(filedata_1->file_header).e_ident" (parenthesized_expression "(filedata_1->file_header)" ( (field_expression "filedata_1->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) / identifier) )))) ;) (expression_statement "nc = auVar17;" (assignment_expression "nc = auVar17" identifier = identifier) ;) (expression_statement "pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)\n                ;" (assignment_expression "pcVar26 = printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)" identifier = (call_expression "printable_section_name\n                                    ((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)" identifier (argument_list "((Filedata *)&filedata->string_table,\n                                     (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1)" ( (cast_expression "(Filedata *)&filedata->string_table" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->string_table" & (field_expression "filedata->string_table" identifier -> field_identifier))) , (cast_expression "(Elf_Internal_Shdr *)&filedata->string_table_length" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->string_table_length" & (field_expression "filedata->string_table_length" identifier -> field_identifier))) , identifier )))) ;) (expression_statement "pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5);" (assignment_expression "pcVar18 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5)" identifier = (cast_expression "(char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5)" identifier (argument_list "(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",nc,5)" ( number_literal , (string_literal ""\nSymbol table \'%s\' contains %lu entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nSymbol table \'%s\' contains %lu entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar18,pcVar26,auVar17);" (call_expression "printf(pcVar18,pcVar26,auVar17)" identifier (argument_list "(pcVar18,pcVar26,auVar17)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";" (assignment_expression "pcVar26 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"" identifier = (string_literal ""   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (is_32bit_elf == 0) {\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }" if (parenthesized_expression "(is_32bit_elf == 0)" ( (binary_expression "is_32bit_elf == 0" identifier == number_literal) )) (compound_statement "{\n                  pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }" { (expression_statement "pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";" (assignment_expression "pcVar26 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"" identifier = (string_literal ""   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "pcVar26 = (char *)dcgettext(0,pcVar26,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,pcVar26,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar26,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar26);" (call_expression "printf(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (if_statement "if (is_32bit_elf == 0) {\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }\n                else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }" if (parenthesized_expression "(is_32bit_elf == 0)" ( (binary_expression "is_32bit_elf == 0" identifier == number_literal) )) (compound_statement "{\n                  local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }" { (expression_statement "local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);" (assignment_expression "local_c0 = get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc)" identifier = (call_expression "get_64bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc)" identifier (argument_list "(filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc)" ( identifier , (cast_expression "(Elf_Internal_Shdr *)filedata_1" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(ulong *)nc" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) }) (else_clause "else {\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }" else (compound_statement "{\n                  local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);\n                }" { (expression_statement "local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc);" (assignment_expression "local_c0 = get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc)" identifier = (call_expression "get_32bit_elf_symbols\n                                       (filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc)" identifier (argument_list "(filedata,(Elf_Internal_Shdr *)filedata_1,(ulong *)nc)" ( identifier , (cast_expression "(Elf_Internal_Shdr *)filedata_1" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(ulong *)nc" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) }))) (if_statement "if (local_c0 != (Elf_Internal_Sym *)0x0) {\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }" if (parenthesized_expression "(local_c0 != (Elf_Internal_Sym *)0x0)" ( (binary_expression "local_c0 != (Elf_Internal_Sym *)0x0" identifier != (cast_expression "(Elf_Internal_Sym *)0x0" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar24 = (uint)(filedata_1->file_header).e_entry;\n                  if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }\n                  if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }\n                  free(local_c0);\n                  if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }\n                }" { (expression_statement "uVar24 = (uint)(filedata_1->file_header).e_entry;" (assignment_expression "uVar24 = (uint)(filedata_1->file_header).e_entry" identifier = (field_expression "(uint)(filedata_1->file_header).e_entry" (call_expression "(uint)(filedata_1->file_header)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(filedata_1->file_header)" ( (field_expression "filedata_1->file_header" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (uVar24 == (filedata->file_header).e_shstrndx) {\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }\n                  else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }" if (parenthesized_expression "(uVar24 == (filedata->file_header).e_shstrndx)" ( (binary_expression "uVar24 == (filedata->file_header).e_shstrndx" identifier == (field_expression "(filedata->file_header).e_shstrndx" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n                    local_f0 = filedata->string_table;\n                    strtab_size = filedata->string_table_length;\n                  }" { (expression_statement "local_f0 = filedata->string_table;" (assignment_expression "local_f0 = filedata->string_table" identifier = (field_expression "filedata->string_table" identifier -> field_identifier)) ;) (expression_statement "strtab_size = filedata->string_table_length;" (assignment_expression "strtab_size = filedata->string_table_length" identifier = (field_expression "filedata->string_table_length" identifier -> field_identifier)) ;) }) (else_clause "else {\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }" else (compound_statement "{\n                    local_f0 = (char *)0x0;\n                    strtab_size = 0;\n                    if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }\n                  }" { (expression_statement "local_f0 = (char *)0x0;" (assignment_expression "local_f0 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "strtab_size = 0;" (assignment_expression "strtab_size = 0" identifier = number_literal) ;) (if_statement "if (uVar24 < (filedata->file_header).e_shnum) {\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }" if (parenthesized_expression "(uVar24 < (filedata->file_header).e_shnum)" ( (binary_expression "uVar24 < (filedata->file_header).e_shnum" identifier < (field_expression "(filedata->file_header).e_shnum" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n                      pEVar4 = filedata->section_headers;\n                      pFVar19 = (Filedata *)dcgettext(0,"string table",5);\n                      local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);\n                      if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }\n                    }" { (expression_statement "pEVar4 = filedata->section_headers;" (assignment_expression "pEVar4 = filedata->section_headers" identifier = (field_expression "filedata->section_headers" identifier -> field_identifier)) ;) (expression_statement "pFVar19 = (Filedata *)dcgettext(0,"string table",5);" (assignment_expression "pFVar19 = (Filedata *)dcgettext(0,"string table",5)" identifier = (cast_expression "(Filedata *)dcgettext(0,"string table",5)" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"string table",5)" identifier (argument_list "(0,"string table",5)" ( number_literal , (string_literal ""string table"" " string_content ") , number_literal ))))) ;) (expression_statement "local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19);" (assignment_expression "local_f0 = (char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19)" identifier = (cast_expression "(char *)get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "get_data((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19)" identifier (argument_list "((void *)0x0,(Filedata *)&filedata->handle,\n                                                  (ulong)&filedata->file_size,\n                                                  pEVar4[uVar24].sh_offset,1,\n                                                  (char *)pEVar4[uVar24].sh_size,pFVar19)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(Filedata *)&filedata->handle" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->handle" & (field_expression "filedata->handle" identifier -> field_identifier))) , (binary_expression "(ulong)&filedata->file_size" (parenthesized_expression "(ulong)" ( identifier )) & (field_expression "filedata->file_size" identifier -> field_identifier)) , (field_expression "pEVar4[uVar24].sh_offset" (subscript_expression "pEVar4[uVar24]" identifier [ identifier ]) . field_identifier) , number_literal , (cast_expression "(char *)pEVar4[uVar24].sh_size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar4[uVar24].sh_size" (subscript_expression "pEVar4[uVar24]" identifier [ identifier ]) . field_identifier)) , identifier ))))) ;) (if_statement "if (local_f0 != (char *)0x0) {\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }" if (parenthesized_expression "(local_f0 != (char *)0x0)" ( (binary_expression "local_f0 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        strtab_size = pEVar4[uVar24].sh_size;\n                      }" { (expression_statement "strtab_size = pEVar4[uVar24].sh_size;" (assignment_expression "strtab_size = pEVar4[uVar24].sh_size" identifier = (field_expression "pEVar4[uVar24].sh_size" (subscript_expression "pEVar4[uVar24]" identifier [ identifier ]) . field_identifier)) ;) })) })) }))) (if_statement "if (nc != (uchar  [8])0x0) {\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }" if (parenthesized_expression "(nc != (uchar  [8])0x0)" ( (binary_expression "nc != (uchar  [8])0x0" identifier != (cast_expression "(uchar  [8])0x0" ( (type_descriptor "uchar  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n                    pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);\n                    auVar17[0] = '\0';\n                    auVar17[1] = '\0';\n                    auVar17[2] = '\0';\n                    auVar17[3] = '\0';\n                    auVar17[4] = '\0';\n                    auVar17[5] = '\0';\n                    auVar17[6] = '\0';\n                    auVar17[7] = '\0';\n                    psym = (Elf_Internal_Sym *)&local_c0->st_name;\n                    do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);\n                  }" { (expression_statement "pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7);" (assignment_expression "pFVar19 = (Filedata *)((filedata->file_header).e_ident + 7)" identifier = (cast_expression "(Filedata *)((filedata->file_header).e_ident + 7)" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((filedata->file_header).e_ident + 7)" ( (binary_expression "(filedata->file_header).e_ident + 7" (field_expression "(filedata->file_header).e_ident" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ;) (expression_statement "auVar17[0] = '\0';" (assignment_expression "auVar17[0] = '\0'" (subscript_expression "auVar17[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[1] = '\0';" (assignment_expression "auVar17[1] = '\0'" (subscript_expression "auVar17[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[2] = '\0';" (assignment_expression "auVar17[2] = '\0'" (subscript_expression "auVar17[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[3] = '\0';" (assignment_expression "auVar17[3] = '\0'" (subscript_expression "auVar17[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[4] = '\0';" (assignment_expression "auVar17[4] = '\0'" (subscript_expression "auVar17[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[5] = '\0';" (assignment_expression "auVar17[5] = '\0'" (subscript_expression "auVar17[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[6] = '\0';" (assignment_expression "auVar17[6] = '\0'" (subscript_expression "auVar17[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[7] = '\0';" (assignment_expression "auVar17[7] = '\0'" (subscript_expression "auVar17[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psym = (Elf_Internal_Sym *)&local_c0->st_name;" (assignment_expression "psym = (Elf_Internal_Sym *)&local_c0->st_name" identifier = (cast_expression "(Elf_Internal_Sym *)&local_c0->st_name" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_c0->st_name" & (field_expression "local_c0->st_name" identifier -> field_identifier)))) ;) (do_statement "do {\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    } while ((ulong)auVar17 < (ulong)nc);" do (compound_statement "{\n                      uVar24 = auVar17._0_4_;\n                      printf("%6d: ",auVar17);\n                      print_vma(psym[-1].st_name,LONG_HEX);\n                      putc(0x20,stdout);\n                      bVar25._0_1_ = psym[-1].st_info;\n                      bVar25._1_1_ = psym[-1].st_other;\n                      bVar25._2_1_ = psym[-1].st_target_internal;\n                      bVar25._3_1_ = psym[-1].field_0x1b;\n                      bVar25._4_4_ = psym[-1].st_shndx;\n                      print_vma(bVar25,DEC_5);\n                      pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));\n                      printf(" %-7s",pcVar26);\n                      pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));\n                      printf(" %-6s",pcVar26);\n                      if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }\n                      pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));\n                      printf(" %4s ",pcVar26);\n                      if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }\n                      print_symbol(L'\x19',pcVar26);\n                      pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);\n                      if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }\n                      auVar17._0_4_ = uVar24 + 1;\n                      auVar17[4] = '\0';\n                      auVar17[5] = '\0';\n                      auVar17[6] = '\0';\n                      auVar17[7] = '\0';\n                      psym = psym + 1;\n                    }" { (expression_statement "uVar24 = auVar17._0_4_;" (assignment_expression "uVar24 = auVar17._0_4_" identifier = (field_expression "auVar17._0_4_" identifier . field_identifier)) ;) (expression_statement "printf("%6d: ",auVar17);" (call_expression "printf("%6d: ",auVar17)" identifier (argument_list "("%6d: ",auVar17)" ( (string_literal ""%6d: "" " string_content ") , identifier ))) ;) (expression_statement "print_vma(psym[-1].st_name,LONG_HEX);" (call_expression "print_vma(psym[-1].st_name,LONG_HEX)" identifier (argument_list "(psym[-1].st_name,LONG_HEX)" ( (field_expression "psym[-1].st_name" (subscript_expression "psym[-1]" identifier [ number_literal ]) . field_identifier) , identifier ))) ;) (expression_statement "putc(0x20,stdout);" (call_expression "putc(0x20,stdout)" identifier (argument_list "(0x20,stdout)" ( number_literal , identifier ))) ;) (expression_statement "bVar25._0_1_ = psym[-1].st_info;" (assignment_expression "bVar25._0_1_ = psym[-1].st_info" (field_expression "bVar25._0_1_" identifier . field_identifier) = (field_expression "psym[-1].st_info" (subscript_expression "psym[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "bVar25._1_1_ = psym[-1].st_other;" (assignment_expression "bVar25._1_1_ = psym[-1].st_other" (field_expression "bVar25._1_1_" identifier . field_identifier) = (field_expression "psym[-1].st_other" (subscript_expression "psym[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "bVar25._2_1_ = psym[-1].st_target_internal;" (assignment_expression "bVar25._2_1_ = psym[-1].st_target_internal" (field_expression "bVar25._2_1_" identifier . field_identifier) = (field_expression "psym[-1].st_target_internal" (subscript_expression "psym[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "bVar25._3_1_ = psym[-1].field_0x1b;" (assignment_expression "bVar25._3_1_ = psym[-1].field_0x1b" (field_expression "bVar25._3_1_" identifier . field_identifier) = (field_expression "psym[-1].field_0x1b" (subscript_expression "psym[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "bVar25._4_4_ = psym[-1].st_shndx;" (assignment_expression "bVar25._4_4_ = psym[-1].st_shndx" (field_expression "bVar25._4_4_" identifier . field_identifier) = (field_expression "psym[-1].st_shndx" (subscript_expression "psym[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "print_vma(bVar25,DEC_5);" (call_expression "print_vma(bVar25,DEC_5)" identifier (argument_list "(bVar25,DEC_5)" ( identifier , identifier ))) ;) (expression_statement "pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf));" (assignment_expression "pcVar26 = get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf))" identifier = (call_expression "get_symbol_type(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf))" identifier (argument_list "(pFVar19,(int)filedata + 0x52,\n                                                (Filedata *)(ulong)((byte)psym->st_size & 0xf))" ( identifier , (binary_expression "(int)filedata + 0x52" (cast_expression "(int)filedata" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (cast_expression "(Filedata *)(ulong)((byte)psym->st_size & 0xf)" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)((byte)psym->st_size & 0xf)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((byte)psym->st_size & 0xf)" ( (binary_expression "(byte)psym->st_size & 0xf" (cast_expression "(byte)psym->st_size" ( (type_descriptor "byte" type_identifier) ) (field_expression "psym->st_size" identifier -> field_identifier)) & number_literal) )))) )))) ;) (expression_statement "printf(" %-7s",pcVar26);" (call_expression "printf(" %-7s",pcVar26)" identifier (argument_list "(" %-7s",pcVar26)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (expression_statement "pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4));" (assignment_expression "pcVar26 = get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4))" identifier = (call_expression "get_symbol_binding(pFVar19,(uint)(byte)((byte)psym->st_size >> 4))" identifier (argument_list "(pFVar19,(uint)(byte)((byte)psym->st_size >> 4))" ( identifier , (call_expression "(uint)(byte)((byte)psym->st_size >> 4)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "((byte)psym->st_size >> 4)" ( (binary_expression "(byte)psym->st_size >> 4" (cast_expression "(byte)psym->st_size" ( (type_descriptor "byte" type_identifier) ) (field_expression "psym->st_size" identifier -> field_identifier)) >> number_literal) ))) )))) ;) (expression_statement "printf(" %-6s",pcVar26);" (call_expression "printf(" %-6s",pcVar26)" identifier (argument_list "(" %-6s",pcVar26)" ( (string_literal "" %-6s"" " string_content ") , identifier ))) ;) (if_statement "if ((filedata->file_header).e_ident[7] == '\x06') {\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }\n                      else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }" if (parenthesized_expression "((filedata->file_header).e_ident[7] == '\x06')" ( (binary_expression "(filedata->file_header).e_ident[7] == '\x06'" (subscript_expression "(filedata->file_header).e_ident[7]" (field_expression "(filedata->file_header).e_ident" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n                        pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));\n                        printf(" %-7s",pcVar26);\n                      }" { (expression_statement "pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1));" (assignment_expression "pcVar26 = get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1))" identifier = (call_expression "get_solaris_symbol_visibility\n                                            ((uint)*(byte *)((long)&psym->st_size + 1))" identifier (argument_list "((uint)*(byte *)((long)&psym->st_size + 1))" ( (binary_expression "(uint)*(byte *)((long)&psym->st_size + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((long)&psym->st_size + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&psym->st_size + 1)" ( (binary_expression "(long)&psym->st_size + 1" (cast_expression "(long)&psym->st_size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&psym->st_size" & (field_expression "psym->st_size" identifier -> field_identifier))) + number_literal) )))) )))) ;) (expression_statement "printf(" %-7s",pcVar26);" (call_expression "printf(" %-7s",pcVar26)" identifier (argument_list "(" %-7s",pcVar26)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) }) (else_clause "else {\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }" else (compound_statement "{\n                        uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;\n                        pcVar26 = get_symbol_visibility(uVar28);\n                        printf(" %-7s",pcVar26);\n                        bVar2 = *(byte *)((long)&psym->st_size + 1);\n                        if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }\n                      }" { (expression_statement "uVar28 = *(byte *)((long)&psym->st_size + 1) & 3;" (assignment_expression "uVar28 = *(byte *)((long)&psym->st_size + 1) & 3" identifier = (binary_expression "*(byte *)((long)&psym->st_size + 1) & 3" (pointer_expression "*(byte *)((long)&psym->st_size + 1)" * (cast_expression "(byte *)((long)&psym->st_size + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&psym->st_size + 1)" ( (binary_expression "(long)&psym->st_size + 1" (cast_expression "(long)&psym->st_size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&psym->st_size" & (field_expression "psym->st_size" identifier -> field_identifier))) + number_literal) )))) & number_literal)) ;) (expression_statement "pcVar26 = get_symbol_visibility(uVar28);" (assignment_expression "pcVar26 = get_symbol_visibility(uVar28)" identifier = (call_expression "get_symbol_visibility(uVar28)" identifier (argument_list "(uVar28)" ( identifier )))) ;) (expression_statement "printf(" %-7s",pcVar26);" (call_expression "printf(" %-7s",pcVar26)" identifier (argument_list "(" %-7s",pcVar26)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (expression_statement "bVar2 = *(byte *)((long)&psym->st_size + 1);" (assignment_expression "bVar2 = *(byte *)((long)&psym->st_size + 1)" identifier = (pointer_expression "*(byte *)((long)&psym->st_size + 1)" * (cast_expression "(byte *)((long)&psym->st_size + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&psym->st_size + 1)" ( (binary_expression "(long)&psym->st_size + 1" (cast_expression "(long)&psym->st_size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&psym->st_size" & (field_expression "psym->st_size" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (bVar2 != (byte)uVar28) {\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }" if (parenthesized_expression "(bVar2 != (byte)uVar28)" ( (binary_expression "bVar2 != (byte)uVar28" identifier != (cast_expression "(byte)uVar28" ( (type_descriptor "byte" type_identifier) ) identifier)) )) (compound_statement "{\n                          pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);\n                          printf(" [%s] ",pcVar26);\n                        }" { (expression_statement "pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28);" (assignment_expression "pcVar26 = get_symbol_other(filedata,bVar2 ^ uVar28)" identifier = (call_expression "get_symbol_other(filedata,bVar2 ^ uVar28)" identifier (argument_list "(filedata,bVar2 ^ uVar28)" ( identifier , (binary_expression "bVar2 ^ uVar28" identifier ^ identifier) )))) ;) (expression_statement "printf(" [%s] ",pcVar26);" (call_expression "printf(" [%s] ",pcVar26)" identifier (argument_list "(" [%s] ",pcVar26)" ( (string_literal "" [%s] "" " string_content ") , identifier ))) ;) })) }))) (expression_statement "pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4));" (assignment_expression "pcVar26 = get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4))" identifier = (call_expression "get_symbol_index_type(filedata,*(uint *)((long)&psym->st_size + 4))" identifier (argument_list "(filedata,*(uint *)((long)&psym->st_size + 4))" ( identifier , (pointer_expression "*(uint *)((long)&psym->st_size + 4)" * (cast_expression "(uint *)((long)&psym->st_size + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&psym->st_size + 4)" ( (binary_expression "(long)&psym->st_size + 4" (cast_expression "(long)&psym->st_size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&psym->st_size" & (field_expression "psym->st_size" identifier -> field_identifier))) + number_literal) )))) )))) ;) (expression_statement "printf(" %4s ",pcVar26);" (call_expression "printf(" %4s ",pcVar26)" identifier (argument_list "(" %4s ",pcVar26)" ( (string_literal "" %4s "" " string_content ") , identifier ))) ;) (if_statement "if (psym->st_value < strtab_size) {\n                        pcVar26 = local_f0 + psym->st_value;\n                      }\n                      else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }" if (parenthesized_expression "(psym->st_value < strtab_size)" ( (binary_expression "psym->st_value < strtab_size" (field_expression "psym->st_value" identifier -> field_identifier) < identifier) )) (compound_statement "{\n                        pcVar26 = local_f0 + psym->st_value;\n                      }" { (expression_statement "pcVar26 = local_f0 + psym->st_value;" (assignment_expression "pcVar26 = local_f0 + psym->st_value" identifier = (binary_expression "local_f0 + psym->st_value" identifier + (field_expression "psym->st_value" identifier -> field_identifier))) ;) }) (else_clause "else {\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }" else (compound_statement "{\n                        pcVar26 = (char *)dcgettext(0,"<corrupt>",5);\n                      }" { (expression_statement "pcVar26 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,"<corrupt>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal ))))) ;) }))) (expression_statement "print_symbol(L'\x19',pcVar26);" (call_expression "print_symbol(L'\x19',pcVar26)" identifier (argument_list "(L'\x19',pcVar26)" ( (char_literal "L'\x19'" L' escape_sequence ') , identifier ))) ;) (expression_statement "pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other);" (assignment_expression "pcVar26 = get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other)" identifier = (call_expression "get_symbol_version_string\n                                          (filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other)" identifier (argument_list "(filedata,(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb),local_f0,strtab_size,\n                                           uVar24,psym,\n                                           (versioned_symbol_info *)((long)&psym->st_size + 4),\n                                           (ushort *)nb,(Elf_Internal_Sym *)&vna_other)" ( identifier , (call_expression "(uint)(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb)" ( (binary_expression "*(int *)((long)&filedata_1->file_name + 4\n                                                                   ) == 0xb" (pointer_expression "*(int *)((long)&filedata_1->file_name + 4\n                                                                   )" * (cast_expression "(int *)((long)&filedata_1->file_name + 4\n                                                                   )" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&filedata_1->file_name + 4\n                                                                   )" ( (binary_expression "(long)&filedata_1->file_name + 4" (cast_expression "(long)&filedata_1->file_name" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&filedata_1->file_name" & (field_expression "filedata_1->file_name" identifier -> field_identifier))) + number_literal) )))) == number_literal) ))) , identifier , identifier , identifier , identifier , (cast_expression "(versioned_symbol_info *)((long)&psym->st_size + 4)" ( (type_descriptor "versioned_symbol_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&psym->st_size + 4)" ( (binary_expression "(long)&psym->st_size + 4" (cast_expression "(long)&psym->st_size" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&psym->st_size" & (field_expression "psym->st_size" identifier -> field_identifier))) + number_literal) ))) , (cast_expression "(ushort *)nb" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Elf_Internal_Sym *)&vna_other" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&vna_other" & identifier)) )))) ;) (if_statement "if (pcVar26 != (char *)0x0) {\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }" if (parenthesized_expression "(pcVar26 != (char *)0x0)" ( (binary_expression "pcVar26 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }\n                      }" { (if_statement "if (nb._0_4_ == 0) {\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }\n                        else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }" if (parenthesized_expression "(nb._0_4_ == 0)" ( (binary_expression "nb._0_4_ == 0" (field_expression "nb._0_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                          printf("@%s (%d)",pcVar26,(ulong)vna_other);\n                        }" { (expression_statement "printf("@%s (%d)",pcVar26,(ulong)vna_other);" (call_expression "printf("@%s (%d)",pcVar26,(ulong)vna_other)" identifier (argument_list "("@%s (%d)",pcVar26,(ulong)vna_other)" ( (string_literal ""@%s (%d)"" " string_content ") , identifier , (cast_expression "(ulong)vna_other" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) (else_clause "else {\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }" else (compound_statement "{\n                          pcVar18 = "@@%s";\n                          if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }\n                          printf(pcVar18,pcVar26);\n                        }" { (expression_statement "pcVar18 = "@@%s";" (assignment_expression "pcVar18 = "@@%s"" identifier = (string_literal ""@@%s"" " string_content ")) ;) (if_statement "if (nb._0_4_ == 1) {\n                            pcVar18 = "@%s";\n                          }" if (parenthesized_expression "(nb._0_4_ == 1)" ( (binary_expression "nb._0_4_ == 1" (field_expression "nb._0_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                            pcVar18 = "@%s";\n                          }" { (expression_statement "pcVar18 = "@%s";" (assignment_expression "pcVar18 = "@%s"" identifier = (string_literal ""@%s"" " string_content ")) ;) })) (expression_statement "printf(pcVar18,pcVar26);" (call_expression "printf(pcVar18,pcVar26)" identifier (argument_list "(pcVar18,pcVar26)" ( identifier , identifier ))) ;) }))) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (if_statement "if (((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')) {\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }" if (parenthesized_expression "(((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06'))" ( (binary_expression "((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)) &&\n                         ((filedata->file_header).e_ident[7] != '\x06')" (parenthesized_expression "((((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8))" ( (binary_expression "(((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)) && ((filedata->file_header).e_machine != 8)" (parenthesized_expression "(((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24))" ( (binary_expression "((byte)((byte)psym->st_size >> 4) == 0) &&\n                           (uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)" (parenthesized_expression "((byte)((byte)psym->st_size >> 4) == 0)" ( (binary_expression "(byte)((byte)psym->st_size >> 4) == 0" (call_expression "(byte)((byte)psym->st_size >> 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((byte)psym->st_size >> 4)" ( (binary_expression "(byte)psym->st_size >> 4" (cast_expression "(byte)psym->st_size" ( (type_descriptor "byte" type_identifier) ) (field_expression "psym->st_size" identifier -> field_identifier)) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24)" ( (comma_expression "uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4),\n                           uVar28 <= uVar24" (assignment_expression "uVar28 = *(uint *)((long)&(filedata_1->file_header).e_entry + 4)" identifier = (pointer_expression "*(uint *)((long)&(filedata_1->file_header).e_entry + 4)" * (cast_expression "(uint *)((long)&(filedata_1->file_header).e_entry + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(filedata_1->file_header).e_entry + 4)" ( (binary_expression "(long)&(filedata_1->file_header).e_entry + 4" (cast_expression "(long)&(filedata_1->file_header).e_entry" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(filedata_1->file_header).e_entry" & (field_expression "(filedata_1->file_header).e_entry" (parenthesized_expression "(filedata_1->file_header)" ( (field_expression "filedata_1->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) , (binary_expression "uVar28 <= uVar24" identifier <= identifier)) ))) )) && (parenthesized_expression "((filedata->file_header).e_machine != 8)" ( (binary_expression "(filedata->file_header).e_machine != 8" (field_expression "(filedata->file_header).e_machine" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) != number_literal) ))) )) && (parenthesized_expression "((filedata->file_header).e_ident[7] != '\x06')" ( (binary_expression "(filedata->file_header).e_ident[7] != '\x06'" (subscript_expression "(filedata->file_header).e_ident[7]" (field_expression "(filedata->file_header).e_ident" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) != (char_literal "'\x06'" ' escape_sequence ')) ))) )) (compound_statement "{\n                        pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);\n                        pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);\n                        warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);\n                      }" { (expression_statement "pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1);" (assignment_expression "pcVar26 = printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1)" identifier = (call_expression "printable_section_name\n                                            ((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1)" identifier (argument_list "((Filedata *)&filedata->string_table,\n                                             (Elf_Internal_Shdr *)&filedata->string_table_length,\n                                             filedata_1)" ( (cast_expression "(Filedata *)&filedata->string_table" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->string_table" & (field_expression "filedata->string_table" identifier -> field_identifier))) , (cast_expression "(Elf_Internal_Shdr *)&filedata->string_table_length" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->string_table_length" & (field_expression "filedata->string_table_length" identifier -> field_identifier))) , identifier )))) ;) (expression_statement "pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5);" (assignment_expression "pcVar18 = (char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5)" identifier (argument_list "(0,\n                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                                  ,5)" ( number_literal , (string_literal ""local symbol %u found at index >= %s\'s sh_info value of %u\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar18,auVar17,pcVar26,(ulong)uVar28);" (call_expression "warn(pcVar18,auVar17,pcVar26,(ulong)uVar28)" identifier (argument_list "(pcVar18,auVar17,pcVar26,(ulong)uVar28)" ( identifier , identifier , identifier , (cast_expression "(ulong)uVar28" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) })) (expression_statement "auVar17._0_4_ = uVar24 + 1;" (assignment_expression "auVar17._0_4_ = uVar24 + 1" (field_expression "auVar17._0_4_" identifier . field_identifier) = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) (expression_statement "auVar17[4] = '\0';" (assignment_expression "auVar17[4] = '\0'" (subscript_expression "auVar17[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[5] = '\0';" (assignment_expression "auVar17[5] = '\0'" (subscript_expression "auVar17[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[6] = '\0';" (assignment_expression "auVar17[6] = '\0'" (subscript_expression "auVar17[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auVar17[7] = '\0';" (assignment_expression "auVar17[7] = '\0'" (subscript_expression "auVar17[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psym = psym + 1;" (assignment_expression "psym = psym + 1" identifier = (binary_expression "psym + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((ulong)auVar17 < (ulong)nc)" ( (binary_expression "(ulong)auVar17 < (ulong)nc" (cast_expression "(ulong)auVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) < (cast_expression "(ulong)nc" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) ;) })) (expression_statement "free(local_c0);" (call_expression "free(local_c0)" identifier (argument_list "(local_c0)" ( identifier ))) ;) (if_statement "if (filedata->string_table != local_f0) {\n                    free(local_f0);\n                  }" if (parenthesized_expression "(filedata->string_table != local_f0)" ( (binary_expression "filedata->string_table != local_f0" (field_expression "filedata->string_table" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                    free(local_f0);\n                  }" { (expression_statement "free(local_f0);" (call_expression "free(local_f0)" identifier (argument_list "(local_f0)" ( identifier ))) ;) })) })) }))) })) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "filedata_1 = (Filedata *)&(filedata_1->file_header).e_type;" (assignment_expression "filedata_1 = (Filedata *)&(filedata_1->file_header).e_type" identifier = (cast_expression "(Filedata *)&(filedata_1->file_header).e_type" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(filedata_1->file_header).e_type" & (field_expression "(filedata_1->file_header).e_type" (parenthesized_expression "(filedata_1->file_header)" ( (field_expression "filedata_1->file_header" identifier -> field_identifier) )) . field_identifier)))) ;) }) while (parenthesized_expression "(uVar23 < (filedata->file_header).e_shnum)" ( (binary_expression "uVar23 < (filedata->file_header).e_shnum" identifier < (field_expression "(filedata->file_header).e_shnum" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier)) )) ;) }))) }))) (labeled_statement "LAB_00123620:\n      if (do_histogram == 0) goto LAB_001239b8;" statement_identifier : (if_statement "if (do_histogram == 0) goto LAB_001239b8;" if (parenthesized_expression "(do_histogram == 0)" ( (binary_expression "do_histogram == 0" identifier == number_literal) )) (goto_statement "goto LAB_001239b8;" goto statement_identifier ;))) (labeled_statement "LAB_0012362e:\n      bVar7 = do_histogram;" statement_identifier : (expression_statement "bVar7 = do_histogram;" (assignment_expression "bVar7 = do_histogram" identifier = identifier) ;)) (if_statement "if (local_a8 == (ulong *)0x0) goto LAB_001239d6;" if (parenthesized_expression "(local_a8 == (ulong *)0x0)" ( (binary_expression "local_a8 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001239d6;" goto statement_identifier ;)) (expression_statement "pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);" (assignment_expression "pcVar26 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" identifier = (cast_expression "(char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" identifier (argument_list "(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" ( number_literal , (string_literal ""\nHistogram for bucket list length (total of %lu bucket):\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""\nHistogram for bucket list length (total of %lu buckets):\n"" " escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar26,local_98);" (call_expression "printf(pcVar26,local_98)" identifier (argument_list "(pcVar26,local_98)" ( identifier , identifier ))) ;) (expression_statement "puVar15 = (ulong *)calloc(local_98,8);" (assignment_expression "puVar15 = (ulong *)calloc(local_98,8)" identifier = (cast_expression "(ulong *)calloc(local_98,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(local_98,8)" identifier (argument_list "(local_98,8)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar26 = "Out of memory allocating space for histogram buckets\n";" (assignment_expression "pcVar26 = "Out of memory allocating space for histogram buckets\n"" identifier = (string_literal ""Out of memory allocating space for histogram buckets\n"" " string_content escape_sequence ")) ;) (if_statement "if (puVar15 != (ulong *)0x0) {\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }" if (parenthesized_expression "(puVar15 != (ulong *)0x0)" ( (binary_expression "puVar15 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pvVar11 = xcmalloc(local_b0,1);\n        memset(pvVar11,0,local_b0);\n        pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar26);\n        if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }\n        free(puVar12);\n        free(puVar15);\n        goto LAB_001239c4;\n      }" { (expression_statement "pvVar11 = xcmalloc(local_b0,1);" (assignment_expression "pvVar11 = xcmalloc(local_b0,1)" identifier = (call_expression "xcmalloc(local_b0,1)" identifier (argument_list "(local_b0,1)" ( identifier , number_literal )))) ;) (expression_statement "memset(pvVar11,0,local_b0);" (call_expression "memset(pvVar11,0,local_b0)" identifier (argument_list "(pvVar11,0,local_b0)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);" (assignment_expression "pcVar26 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier = (cast_expression "(char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier (argument_list "(0," Length  Number     %% of total  Coverage\n",5)" ( number_literal , (string_literal "" Length  Number     %% of total  Coverage\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar26);" (call_expression "printf(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (if_statement "if (local_98 == 0) {\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }" if (parenthesized_expression "(local_98 == 0)" ( (binary_expression "local_98 == 0" identifier == number_literal) )) (compound_statement "{\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(1,8);\n          if (puVar12 == (ulong *)0x0) goto LAB_001247f5;\n        }" { (expression_statement "free(pvVar11);" (call_expression "free(pvVar11)" identifier (argument_list "(pvVar11)" ( identifier ))) ;) (expression_statement "puVar12 = (ulong *)calloc(1,8);" (assignment_expression "puVar12 = (ulong *)calloc(1,8)" identifier = (cast_expression "(ulong *)calloc(1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,8)" identifier (argument_list "(1,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar12 == (ulong *)0x0) goto LAB_001247f5;" if (parenthesized_expression "(puVar12 == (ulong *)0x0)" ( (binary_expression "puVar12 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001247f5;" goto statement_identifier ;)) }) (else_clause "else {\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }" else (compound_statement "{\n          uVar20 = 0;\n          uVar27 = 0;\n          puVar12 = local_a8;\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);\n          free(pvVar11);\n          puVar12 = (ulong *)calloc(sVar9,8);\n          if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar13 = puVar15;\n          do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }\n        }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar12 = local_a8;" (assignment_expression "puVar12 = local_a8" identifier = identifier) ;) (expression_statement "puVar13 = puVar15;" (assignment_expression "puVar13 = puVar15" identifier = identifier) ;) (do_statement "do {\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          } while (local_a8 + local_98 != puVar12);" do (compound_statement "{\n            uVar22 = *puVar12;\n            sVar9 = uVar27 + 1;\n            if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }\nLAB_001237a1:\n            puVar12 = puVar12 + 1;\n            puVar13 = puVar13 + 1;\n          }" { (expression_statement "uVar22 = *puVar12;" (assignment_expression "uVar22 = *puVar12" identifier = (pointer_expression "*puVar12" * identifier)) ;) (expression_statement "sVar9 = uVar27 + 1;" (assignment_expression "sVar9 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (if_statement "if (uVar22 != 0) {\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar21 = *puVar13;\n              lVar8 = uVar20 - uVar21;\n              do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);\n              *puVar13 = uVar21;\n            }" { (expression_statement "uVar21 = *puVar13;" (assignment_expression "uVar21 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "lVar8 = uVar20 - uVar21;" (assignment_expression "lVar8 = uVar20 - uVar21" identifier = (binary_expression "uVar20 - uVar21" identifier - identifier)) ;) (do_statement "do {\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              } while (uVar22 != 0);" do (compound_statement "{\n                uVar21 = uVar21 + 1;\n                uVar20 = lVar8 + uVar21;\n                sVar9 = uVar27 + 1;\n                if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }\n                if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar11 + uVar22) = '\x01';\n                uVar22 = __ptr_00[uVar22];\n              }" { (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "uVar20 = lVar8 + uVar21;" (assignment_expression "uVar20 = lVar8 + uVar21" identifier = (binary_expression "lVar8 + uVar21" identifier + identifier)) ;) (expression_statement "sVar9 = uVar27 + 1;" (assignment_expression "sVar9 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) (if_statement "if (uVar27 < uVar21) {\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }" if (parenthesized_expression "(uVar27 < uVar21)" ( (binary_expression "uVar27 < uVar21" identifier < identifier) )) (compound_statement "{\n                  sVar9 = uVar27 + 2;\n                  uVar27 = uVar27 + 1;\n                }" { (expression_statement "sVar9 = uVar27 + 2;" (assignment_expression "sVar9 = uVar27 + 2" identifier = (binary_expression "uVar27 + 2" identifier + number_literal)) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) })) (if_statement "if ((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')) {\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }" if (parenthesized_expression "((local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0'))" ( (binary_expression "(local_b0 <= uVar22) || (*(char *)((long)pvVar11 + uVar22) != '\0')" (parenthesized_expression "(local_b0 <= uVar22)" ( (binary_expression "local_b0 <= uVar22" identifier <= identifier) )) || (parenthesized_expression "(*(char *)((long)pvVar11 + uVar22) != '\0')" ( (binary_expression "*(char *)((long)pvVar11 + uVar22) != '\0'" (pointer_expression "*(char *)((long)pvVar11 + uVar22)" * (cast_expression "(char *)((long)pvVar11 + uVar22)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + uVar22)" ( (binary_expression "(long)pvVar11 + uVar22" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  *puVar13 = uVar21;\n                  pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(pcVar26);\n                  goto LAB_001237a1;\n                }" { (expression_statement "*puVar13 = uVar21;" (assignment_expression "*puVar13 = uVar21" (pointer_expression "*puVar13" * identifier) = identifier) ;) (expression_statement "pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,"histogram chain is corrupt\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"histogram chain is corrupt\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"histogram chain is corrupt\n",5)" identifier (argument_list "(0,"histogram chain is corrupt\n",5)" ( number_literal , (string_literal ""histogram chain is corrupt\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar26);" (call_expression "error(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (goto_statement "goto LAB_001237a1;" goto statement_identifier ;) })) (expression_statement "*(char *)((long)pvVar11 + uVar22) = '\x01';" (assignment_expression "*(char *)((long)pvVar11 + uVar22) = '\x01'" (pointer_expression "*(char *)((long)pvVar11 + uVar22)" * (cast_expression "(char *)((long)pvVar11 + uVar22)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar11 + uVar22)" ( (binary_expression "(long)pvVar11 + uVar22" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "uVar22 = __ptr_00[uVar22];" (assignment_expression "uVar22 = __ptr_00[uVar22]" identifier = (subscript_expression "__ptr_00[uVar22]" identifier [ identifier ])) ;) }) while (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) ;) (expression_statement "*puVar13 = uVar21;" (assignment_expression "*puVar13 = uVar21" (pointer_expression "*puVar13" * identifier) = identifier) ;) })) (labeled_statement "LAB_001237a1:\n            puVar12 = puVar12 + 1;" statement_identifier : (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;)) (expression_statement "puVar13 = puVar13 + 1;" (assignment_expression "puVar13 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_a8 + local_98 != puVar12)" ( (binary_expression "local_a8 + local_98 != puVar12" (binary_expression "local_a8 + local_98" identifier + identifier) != identifier) )) ;) (expression_statement "free(pvVar11);" (call_expression "free(pvVar11)" identifier (argument_list "(pvVar11)" ( identifier ))) ;) (expression_statement "puVar12 = (ulong *)calloc(sVar9,8);" (assignment_expression "puVar12 = (ulong *)calloc(sVar9,8)" identifier = (cast_expression "(ulong *)calloc(sVar9,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(sVar9,8)" identifier (argument_list "(sVar9,8)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar12 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }" if (parenthesized_expression "(puVar12 == (ulong *)0x0)" ( (binary_expression "puVar12 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001247f5:\n            free(puVar15);\n            pcVar26 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }" { (labeled_statement "LAB_001247f5:\n            free(puVar15);" statement_identifier : (expression_statement "free(puVar15);" (call_expression "free(puVar15)" identifier (argument_list "(puVar15)" ( identifier ))) ;)) (expression_statement "pcVar26 = "Out of memory allocating space for histogram counts\n";" (assignment_expression "pcVar26 = "Out of memory allocating space for histogram counts\n"" identifier = (string_literal ""Out of memory allocating space for histogram counts\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124267;" goto statement_identifier ;) })) (expression_statement "puVar13 = puVar15;" (assignment_expression "puVar13 = puVar15" identifier = identifier) ;) (do_statement "do {\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          } while (puVar15 + local_98 != puVar13);" do (compound_statement "{\n            uVar22 = *puVar13;\n            puVar13 = puVar13 + 1;\n            puVar12[uVar22] = puVar12[uVar22] + 1;\n            dVar5 = ram0x0017c6b0;\n          }" { (expression_statement "uVar22 = *puVar13;" (assignment_expression "uVar22 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "puVar13 = puVar13 + 1;" (assignment_expression "puVar13 = puVar13 + 1" identifier = (binary_expression "puVar13 + 1" identifier + number_literal)) ;) (expression_statement "puVar12[uVar22] = puVar12[uVar22] + 1;" (assignment_expression "puVar12[uVar22] = puVar12[uVar22] + 1" (subscript_expression "puVar12[uVar22]" identifier [ identifier ]) = (binary_expression "puVar12[uVar22] + 1" (subscript_expression "puVar12[uVar22]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "dVar5 = ram0x0017c6b0;" (assignment_expression "dVar5 = ram0x0017c6b0" identifier = identifier) ;) }) while (parenthesized_expression "(puVar15 + local_98 != puVar13)" ( (binary_expression "puVar15 + local_98 != puVar13" (binary_expression "puVar15 + local_98" identifier + identifier) != identifier) )) ;) (expression_statement "printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98);" (call_expression "printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98)" identifier (argument_list "("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98)" ( (string_literal ""      0  %-10lu (%5.1f%%)\n"" " string_content escape_sequence ") , (binary_expression "((double)*puVar12 * ram0x0017c6b0) / (double)(long)local_98" (parenthesized_expression "((double)*puVar12 * ram0x0017c6b0)" ( (binary_expression "(double)*puVar12 * ram0x0017c6b0" (cast_expression "(double)*puVar12" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*puVar12" * identifier)) * identifier) )) / (cast_expression "(double)(long)local_98" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ))) ;) (if_statement "if (uVar27 != 0) {\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n            local_e0 = (double)uVar20;\n            uVar22 = 0;\n            uVar20 = 1;\n            do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);\n          }" { (expression_statement "local_e0 = (double)uVar20;" (assignment_expression "local_e0 = (double)uVar20" identifier = (cast_expression "(double)uVar20" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 1;" (assignment_expression "uVar20 = 1" identifier = number_literal) ;) (do_statement "do {\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            } while (bVar29);" do (compound_statement "{\n              uVar22 = uVar22 + puVar12[uVar20] * uVar20;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);\n              bVar29 = uVar27 != uVar20;\n              uVar20 = uVar20 + 1;\n            }" { (expression_statement "uVar22 = uVar22 + puVar12[uVar20] * uVar20;" (assignment_expression "uVar22 = uVar22 + puVar12[uVar20] * uVar20" identifier = (binary_expression "uVar22 + puVar12[uVar20] * uVar20" identifier + (binary_expression "puVar12[uVar20] * uVar20" (subscript_expression "puVar12[uVar20]" identifier [ identifier ]) * identifier))) ;) (expression_statement "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20);" (call_expression "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20)" identifier (argument_list "("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar12[uVar20] * dVar5) / (double)(long)local_98,\n                     ((double)uVar22 * dVar5) / local_e0,uVar20)" ( (string_literal ""%7lu  %-10lu (%5.1f%%)    %5.1f%%\n"" " string_content escape_sequence ") , (binary_expression "((double)puVar12[uVar20] * dVar5) / (double)(long)local_98" (parenthesized_expression "((double)puVar12[uVar20] * dVar5)" ( (binary_expression "(double)puVar12[uVar20] * dVar5" (cast_expression "(double)puVar12[uVar20]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "puVar12[uVar20]" identifier [ identifier ])) * identifier) )) / (cast_expression "(double)(long)local_98" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "((double)uVar22 * dVar5) / local_e0" (parenthesized_expression "((double)uVar22 * dVar5)" ( (binary_expression "(double)uVar22 * dVar5" (cast_expression "(double)uVar22" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier) , identifier ))) ;) (expression_statement "bVar29 = uVar27 != uVar20;" (assignment_expression "bVar29 = uVar27 != uVar20" identifier = (binary_expression "uVar27 != uVar20" identifier != identifier)) ;) (expression_statement "uVar20 = uVar20 + 1;" (assignment_expression "uVar20 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar29)" ( identifier )) ;) })) }))) (expression_statement "free(puVar12);" (call_expression "free(puVar12)" identifier (argument_list "(puVar12)" ( identifier ))) ;) (expression_statement "free(puVar15);" (call_expression "free(puVar15)" identifier (argument_list "(puVar15)" ( identifier ))) ;) (goto_statement "goto LAB_001239c4;" goto statement_identifier ;) })) (labeled_statement "LAB_00124267:\n      pcVar26 = (char *)dcgettext(0,pcVar26,5);" statement_identifier : (expression_statement "pcVar26 = (char *)dcgettext(0,pcVar26,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,pcVar26,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar26,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "error(pcVar26);" (call_expression "error(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) }) (else_clause "else {\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }" else (compound_statement "{\n      if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;\n      if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }\n      lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);\n      iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);\n      pcVar26 = "Unable to seek to start of dynamic information\n";\n      if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }\n      if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }\n    }" { (if_statement "if (do_histogram == 0) {\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }" if (parenthesized_expression "(do_histogram == 0)" ( (binary_expression "do_histogram == 0" identifier == number_literal) )) (compound_statement "{\n        if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = dynamic_info_DT_GNU_HASH;\n        if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        local_68 = (bfd_vma *)0x0;\n        local_80 = (bfd_vma *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }" { (if_statement "if (do_using_dynamic != 0) {\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }" if (parenthesized_expression "(do_using_dynamic != 0)" ( (binary_expression "do_using_dynamic != 0" identifier != number_literal) )) (compound_statement "{\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;\n          local_a0 = dynamic_info_DT_GNU_HASH;\n          if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;\n          if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }" { (if_statement "if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_00124120;" if (parenthesized_expression "((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0))" ( (binary_expression "(do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)" (parenthesized_expression "(do_dyn_syms == 0)" ( (binary_expression "do_dyn_syms == 0" identifier == number_literal) )) && (parenthesized_expression "(dynamic_strings != (char *)0x0)" ( (binary_expression "dynamic_strings != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_00124120;" goto statement_identifier ;)) (expression_statement "local_a0 = dynamic_info_DT_GNU_HASH;" (assignment_expression "local_a0 = dynamic_info_DT_GNU_HASH" identifier = identifier) ;) (if_statement "if (dynamic_info_DT_GNU_HASH == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }" if (parenthesized_expression "(dynamic_info_DT_GNU_HASH == 0)" ( (binary_expression "dynamic_info_DT_GNU_HASH == 0" identifier == number_literal) )) (compound_statement "{\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }" { (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0012359b;" goto statement_identifier ;) })) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__ptr_00 = (bfd_vma *)0x0;" (assignment_expression "__ptr_00 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001234e0:\n          dynamic_info_DT_GNU_HASH = local_a0;" statement_identifier : (expression_statement "dynamic_info_DT_GNU_HASH = local_a0;" (assignment_expression "dynamic_info_DT_GNU_HASH = local_a0" identifier = identifier) ;)) (if_statement "if ((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)) goto LAB_001231f2;" if (parenthesized_expression "((do_dyn_syms == 0) && (dynamic_strings != (char *)0x0))" ( (binary_expression "(do_dyn_syms == 0) && (dynamic_strings != (char *)0x0)" (parenthesized_expression "(do_dyn_syms == 0)" ( (binary_expression "do_dyn_syms == 0" identifier == number_literal) )) && (parenthesized_expression "(dynamic_strings != (char *)0x0)" ( (binary_expression "dynamic_strings != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_001231f2;" goto statement_identifier ;)) (goto_statement "goto LAB_001234ff;" goto statement_identifier ;) })) (expression_statement "local_b0 = dynamic_info_DT_GNU_HASH;" (assignment_expression "local_b0 = dynamic_info_DT_GNU_HASH" identifier = identifier) ;) (if_statement "if (dynamic_info_DT_GNU_HASH != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }" if (parenthesized_expression "(dynamic_info_DT_GNU_HASH != 0)" ( (binary_expression "dynamic_info_DT_GNU_HASH != 0" identifier != number_literal) )) (compound_statement "{\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (bfd_vma *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }" { (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__ptr_00 = (bfd_vma *)0x0;" (assignment_expression "__ptr_00 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001234ff;" goto statement_identifier ;) })) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0012359b:\n        local_70 = 0;" statement_identifier : (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;)) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (bfd_vma *)0x0;" (assignment_expression "__ptr_00 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_68 = (bfd_vma *)0x0;" (assignment_expression "local_68 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (bfd_vma *)0x0;" (assignment_expression "local_80 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001235c8;" goto statement_identifier ;) })) (labeled_statement "LAB_00124120:\n      uVar3 = (filedata->file_header).e_machine;" statement_identifier : (expression_statement "uVar3 = (filedata->file_header).e_machine;" (assignment_expression "uVar3 = (filedata->file_header).e_machine" identifier = (field_expression "(filedata->file_header).e_machine" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier)) ;)) (if_statement "if ((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)) {\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }" if (parenthesized_expression "((uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390))" ( (binary_expression "(uVar3 == 0x9026 || uVar3 == 0x16) || (uVar23 = 4, uVar3 == 0xa390)" (parenthesized_expression "(uVar3 == 0x9026 || uVar3 == 0x16)" ( (binary_expression "uVar3 == 0x9026 || uVar3 == 0x16" (binary_expression "uVar3 == 0x9026" identifier == number_literal) || (binary_expression "uVar3 == 0x16" identifier == number_literal)) )) || (parenthesized_expression "(uVar23 = 4, uVar3 == 0xa390)" ( (comma_expression "uVar23 = 4, uVar3 == 0xa390" (assignment_expression "uVar23 = 4" identifier = number_literal) , (binary_expression "uVar3 == 0xa390" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;\n      }" { (expression_statement "uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;" (assignment_expression "uVar23 = (uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4" identifier = (binary_expression "(uint)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4" (binary_expression "(uint)((filedata->file_header).e_ident[4] == '\x02') * 4" (call_expression "(uint)((filedata->file_header).e_ident[4] == '\x02')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((filedata->file_header).e_ident[4] == '\x02')" ( (binary_expression "(filedata->file_header).e_ident[4] == '\x02'" (subscript_expression "(filedata->file_header).e_ident[4]" (field_expression "(filedata->file_header).e_ident" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (char_literal "'\x02'" ' escape_sequence ')) ))) * number_literal) + number_literal)) ;) })) (expression_statement "lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10);" (assignment_expression "lVar8 = offset_from_vma(filedata,dynamic_info[4],0x10)" identifier = (call_expression "offset_from_vma(filedata,dynamic_info[4],0x10)" identifier (argument_list "(filedata,dynamic_info[4],0x10)" ( identifier , (subscript_expression "dynamic_info[4]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0);" (assignment_expression "iVar6 = fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier = (call_expression "fseek((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" identifier (argument_list "((FILE *)filedata->handle,lVar8 + archive_file_offset,0)" ( (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) , (binary_expression "lVar8 + archive_file_offset" identifier + identifier) , number_literal )))) ;) (expression_statement "pcVar26 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar26 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;) (if_statement "if (iVar6 == 0) {\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);\n        if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);\n        pcVar26 = "Failed to read in number of chains\n";\n        if (sVar9 != 1) goto LAB_001241ba;\n        local_98 = (*byte_get)(nb,uVar23);\n        local_b0 = (*byte_get)(nc,uVar23);\n        local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);\n        __ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);\n        if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;\n      }" { (expression_statement "sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle);" (assignment_expression "sVar9 = fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle)" identifier = (call_expression "fread(nb,(ulong)uVar23,1,(FILE *)filedata->handle)" identifier (argument_list "(nb,(ulong)uVar23,1,(FILE *)filedata->handle)" ( identifier , (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal , (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) )))) ;) (if_statement "if (sVar9 != 1) {\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }" if (parenthesized_expression "(sVar9 != 1)" ( (binary_expression "sVar9 != 1" identifier != number_literal) )) (compound_statement "{\n          pcVar26 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }" { (expression_statement "pcVar26 = "Failed to read in number of buckets\n";" (assignment_expression "pcVar26 = "Failed to read in number of buckets\n"" identifier = (string_literal ""Failed to read in number of buckets\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001241ba;" goto statement_identifier ;) })) (expression_statement "sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle);" (assignment_expression "sVar9 = fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle)" identifier = (call_expression "fread(nc,(ulong)uVar23,1,(FILE *)filedata->handle)" identifier (argument_list "(nc,(ulong)uVar23,1,(FILE *)filedata->handle)" ( identifier , (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal , (cast_expression "(FILE *)filedata->handle" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->handle" identifier -> field_identifier)) )))) ;) (expression_statement "pcVar26 = "Failed to read in number of chains\n";" (assignment_expression "pcVar26 = "Failed to read in number of chains\n"" identifier = (string_literal ""Failed to read in number of chains\n"" " string_content escape_sequence ")) ;) (if_statement "if (sVar9 != 1) goto LAB_001241ba;" if (parenthesized_expression "(sVar9 != 1)" ( (binary_expression "sVar9 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001241ba;" goto statement_identifier ;)) (expression_statement "local_98 = (*byte_get)(nb,uVar23);" (assignment_expression "local_98 = (*byte_get)(nb,uVar23)" identifier = (call_expression "(*byte_get)(nb,uVar23)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(nb,uVar23)" ( identifier , identifier )))) ;) (expression_statement "local_b0 = (*byte_get)(nc,uVar23);" (assignment_expression "local_b0 = (*byte_get)(nc,uVar23)" identifier = (call_expression "(*byte_get)(nc,uVar23)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(nc,uVar23)" ( identifier , identifier )))) ;) (expression_statement "local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23);" (assignment_expression "local_a8 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23)" identifier = (call_expression "get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23)" identifier (argument_list "((Filedata *)&filedata->handle,filedata->file_size,(uint)local_98\n                                    ,(Filedata *)(ulong)uVar23)" ( (cast_expression "(Filedata *)&filedata->handle" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->handle" & (field_expression "filedata->handle" identifier -> field_identifier))) , (field_expression "filedata->file_size" identifier -> field_identifier) , (cast_expression "(uint)local_98" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(Filedata *)(ulong)uVar23" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ;) (expression_statement "__ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23);" (assignment_expression "__ptr_00 = get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23)" identifier = (call_expression "get_dynamic_data((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23)" identifier (argument_list "((Filedata *)&filedata->handle,filedata->file_size,(uint)local_b0\n                                    ,(Filedata *)(ulong)uVar23)" ( (cast_expression "(Filedata *)&filedata->handle" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&filedata->handle" & (field_expression "filedata->handle" identifier -> field_identifier))) , (field_expression "filedata->file_size" identifier -> field_identifier) , (cast_expression "(uint)local_b0" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(Filedata *)(ulong)uVar23" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar23" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) ;) (if_statement "if ((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)) goto LAB_001234aa;" if (parenthesized_expression "((local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0))" ( (binary_expression "(local_a8 != (bfd_vma *)0x0) && (__ptr_00 != (bfd_vma *)0x0)" (parenthesized_expression "(local_a8 != (bfd_vma *)0x0)" ( (binary_expression "local_a8 != (bfd_vma *)0x0" identifier != (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(__ptr_00 != (bfd_vma *)0x0)" ( (binary_expression "__ptr_00 != (bfd_vma *)0x0" identifier != (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_001234aa;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }" else (compound_statement "{\nLAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;\n        pcVar26 = (char *)dcgettext(0,pcVar26,5);\n        error(pcVar26);\n        local_a8 = (bfd_vma *)0x0;\n      }" { (labeled_statement "LAB_001241ba:\n        __ptr_00 = (bfd_vma *)0x0;" statement_identifier : (expression_statement "__ptr_00 = (bfd_vma *)0x0;" (assignment_expression "__ptr_00 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pcVar26 = (char *)dcgettext(0,pcVar26,5);" (assignment_expression "pcVar26 = (char *)dcgettext(0,pcVar26,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar26,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar26,5)" identifier (argument_list "(0,pcVar26,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "error(pcVar26);" (call_expression "error(pcVar26)" identifier (argument_list "(pcVar26)" ( identifier ))) ;) (expression_statement "local_a8 = (bfd_vma *)0x0;" (assignment_expression "local_a8 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (do_using_dynamic == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }" if (parenthesized_expression "(do_using_dynamic == 0)" ( (binary_expression "do_using_dynamic == 0" identifier == number_literal) )) (compound_statement "{\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (bfd_vma *)0x0;\n        goto LAB_001234aa;\n      }" { (expression_statement "free(local_a8);" (call_expression "free(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (bfd_vma *)0x0;" (assignment_expression "__ptr_00 = (bfd_vma *)0x0" identifier = (cast_expression "(bfd_vma *)0x0" ( (type_descriptor "bfd_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001234aa;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00124278:\n    bVar7 = 0;" statement_identifier : (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;)) }))) (return_statement "return bVar7;" return identifier ;) })))
(translation_unit "undefined8 FUN_00123170(long param_1)\n\n{\n  short sVar1;\n  uint uVar2;\n  double dVar3;\n  int iVar4;\n  long lVar5;\n  size_t sVar6;\n  long lVar7;\n  undefined8 uVar8;\n  void *pvVar9;\n  ulong *puVar10;\n  ulong *puVar11;\n  long *__ptr;\n  ulong uVar12;\n  ulong *puVar13;\n  long *plVar14;\n  undefined8 uVar15;\n  void *__ptr_00;\n  ulong uVar16;\n  ulong uVar17;\n  ulong uVar18;\n  uint uVar19;\n  char *pcVar20;\n  ulong uVar21;\n  byte bVar22;\n  bool bVar23;\n  void *local_f0;\n  double local_e0;\n  void *local_c0;\n  size_t local_b0;\n  ulong *local_a8;\n  size_t local_a0;\n  size_t local_98;\n  void *local_80;\n  size_t local_78;\n  ulong local_70;\n  void *local_68;\n  ushort local_52;\n  int local_50 [2];\n  undefined8 local_48;\n  undefined1 local_40 [16];\n  \n  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }\n  return uVar8;\n}\n\n" (function_definition "undefined8 FUN_00123170(long param_1)\n\n{\n  short sVar1;\n  uint uVar2;\n  double dVar3;\n  int iVar4;\n  long lVar5;\n  size_t sVar6;\n  long lVar7;\n  undefined8 uVar8;\n  void *pvVar9;\n  ulong *puVar10;\n  ulong *puVar11;\n  long *__ptr;\n  ulong uVar12;\n  ulong *puVar13;\n  long *plVar14;\n  undefined8 uVar15;\n  void *__ptr_00;\n  ulong uVar16;\n  ulong uVar17;\n  ulong uVar18;\n  uint uVar19;\n  char *pcVar20;\n  ulong uVar21;\n  byte bVar22;\n  bool bVar23;\n  void *local_f0;\n  double local_e0;\n  void *local_c0;\n  size_t local_b0;\n  ulong *local_a8;\n  size_t local_a0;\n  size_t local_98;\n  void *local_80;\n  size_t local_78;\n  ulong local_70;\n  void *local_68;\n  ushort local_52;\n  int local_50 [2];\n  undefined8 local_48;\n  undefined1 local_40 [16];\n  \n  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }\n  return uVar8;\n}" type_identifier (function_declarator "FUN_00123170(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  double dVar3;\n  int iVar4;\n  long lVar5;\n  size_t sVar6;\n  long lVar7;\n  undefined8 uVar8;\n  void *pvVar9;\n  ulong *puVar10;\n  ulong *puVar11;\n  long *__ptr;\n  ulong uVar12;\n  ulong *puVar13;\n  long *plVar14;\n  undefined8 uVar15;\n  void *__ptr_00;\n  ulong uVar16;\n  ulong uVar17;\n  ulong uVar18;\n  uint uVar19;\n  char *pcVar20;\n  ulong uVar21;\n  byte bVar22;\n  bool bVar23;\n  void *local_f0;\n  double local_e0;\n  void *local_c0;\n  size_t local_b0;\n  ulong *local_a8;\n  size_t local_a0;\n  size_t local_98;\n  void *local_80;\n  size_t local_78;\n  ulong local_70;\n  void *local_68;\n  ushort local_52;\n  int local_50 [2];\n  undefined8 local_48;\n  undefined1 local_40 [16];\n  \n  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }\n  return uVar8;\n}" { (declaration "short sVar1;" (sized_type_specifier "short" short) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "double dVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "void *pvVar9;" primitive_type (pointer_declarator "*pvVar9" * identifier) ;) (declaration "ulong *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "ulong *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "long *__ptr;" (sized_type_specifier "long" long) (pointer_declarator "*__ptr" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "ulong *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "long *plVar14;" (sized_type_specifier "long" long) (pointer_declarator "*plVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "void *__ptr_00;" primitive_type (pointer_declarator "*__ptr_00" * identifier) ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "void *local_f0;" primitive_type (pointer_declarator "*local_f0" * identifier) ;) (declaration "double local_e0;" primitive_type identifier ;) (declaration "void *local_c0;" primitive_type (pointer_declarator "*local_c0" * identifier) ;) (declaration "size_t local_b0;" primitive_type identifier ;) (declaration "ulong *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "size_t local_a0;" primitive_type identifier ;) (declaration "size_t local_98;" primitive_type identifier ;) (declaration "void *local_80;" primitive_type (pointer_declarator "*local_80" * identifier) ;) (declaration "size_t local_78;" primitive_type identifier ;) (declaration "ulong local_70;" type_identifier identifier ;) (declaration "void *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "ushort local_52;" type_identifier identifier ;) (declaration "int local_50 [2];" primitive_type (array_declarator "local_50 [2]" identifier [ number_literal ]) ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "undefined1 local_40 [16];" type_identifier (array_declarator "local_40 [16]" identifier [ number_literal ]) ;) (if_statement "if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" if (parenthesized_expression "(DAT_0019349c == 0 && DAT_001934a0 == 0)" ( (binary_expression "DAT_0019349c == 0 && DAT_001934a0 == 0" (binary_expression "DAT_0019349c == 0" identifier == number_literal) && (binary_expression "DAT_001934a0 == 0" identifier == number_literal)) )) (compound_statement "{\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }" { (if_statement "if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }" if (parenthesized_expression "(DAT_00193470 != 0)" ( (binary_expression "DAT_00193470 != 0" identifier != number_literal) )) (compound_statement "{\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }" { (expression_statement "local_98 = DAT_00193580;" (assignment_expression "local_98 = DAT_00193580" identifier = identifier) ;) (if_statement "if (DAT_00193580 != 0) goto LAB_00124120;" if (parenthesized_expression "(DAT_00193580 != 0)" ( (binary_expression "DAT_00193580 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00124120;" goto statement_identifier ;)) (expression_statement "local_b0 = DAT_00193540;" (assignment_expression "local_b0 = DAT_00193540" identifier = identifier) ;) (if_statement "if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }" if (parenthesized_expression "(DAT_00193540 == 0)" ( (binary_expression "DAT_00193540 == 0" identifier == number_literal) )) (compound_statement "{\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }" { (expression_statement "local_98 = DAT_00193540;" (assignment_expression "local_98 = DAT_00193540" identifier = identifier) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00123920;" goto statement_identifier ;) })) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" identifier = identifier) ;) (labeled_statement "LAB_001231f2:\n      DAT_00193540 = local_a0;" statement_identifier : (expression_statement "DAT_00193540 = local_a0;" (assignment_expression "DAT_00193540 = local_a0" identifier = identifier) ;)) (expression_statement "lVar5 = FUN_00119da0(param_1,local_a0,0x10);" (assignment_expression "lVar5 = FUN_00119da0(param_1,local_a0,0x10)" identifier = (call_expression "FUN_00119da0(param_1,local_a0,0x10)" identifier (argument_list "(param_1,local_a0,0x10)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar5 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;) (if_statement "if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }" { (expression_statement "sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8))" identifier = (call_expression "fread(&local_48,0x10,1,*(FILE **)(param_1 + 8))" identifier (argument_list "(&local_48,0x10,1,*(FILE **)(param_1 + 8))" ( (pointer_expression "&local_48" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }" if (parenthesized_expression "(sVar6 != 1)" ( (binary_expression "sVar6 != 1" identifier != number_literal) )) (compound_statement "{\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }" { (expression_statement "pcVar20 = "Failed to read in number of buckets\n";" (assignment_expression "pcVar20 = "Failed to read in number of buckets\n"" identifier = (string_literal ""Failed to read in number of buckets\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124393;" goto statement_identifier ;) })) (expression_statement "local_78 = (*DAT_00196f88)(&local_48,4);" (assignment_expression "local_78 = (*DAT_00196f88)(&local_48,4)" identifier = (call_expression "(*DAT_00196f88)(&local_48,4)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(&local_48,4)" ( (pointer_expression "&local_48" & identifier) , number_literal )))) ;) (expression_statement "local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);" (assignment_expression "local_70 = (*DAT_00196f88)((long)&local_48 + 4,4)" identifier = (call_expression "(*DAT_00196f88)((long)&local_48 + 4,4)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "((long)&local_48 + 4,4)" ( (binary_expression "(long)&local_48 + 4" (cast_expression "(long)&local_48" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_48" & identifier)) + number_literal) , number_literal )))) ;) (expression_statement "lVar5 = (*DAT_00196f88)(local_40,4);" (assignment_expression "lVar5 = (*DAT_00196f88)(local_40,4)" identifier = (call_expression "(*DAT_00196f88)(local_40,4)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(local_40,4)" ( identifier , number_literal )))) ;) (if_statement "if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n          lVar5 = lVar5 * 8;\n        }" { (expression_statement "lVar5 = lVar5 * 8;" (assignment_expression "lVar5 = lVar5 * 8" identifier = (binary_expression "lVar5 * 8" identifier * number_literal)) ;) }) (else_clause "else {\n          lVar5 = lVar5 * 4;\n        }" else (compound_statement "{\n          lVar5 = lVar5 * 4;\n        }" { (expression_statement "lVar5 = lVar5 * 4;" (assignment_expression "lVar5 = lVar5 * 4" identifier = (binary_expression "lVar5 * 4" identifier * number_literal)) ;) }))) (expression_statement "lVar5 = DAT_00193540 + 0x10 + lVar5;" (assignment_expression "lVar5 = DAT_00193540 + 0x10 + lVar5" identifier = (binary_expression "DAT_00193540 + 0x10 + lVar5" (binary_expression "DAT_00193540 + 0x10" identifier + number_literal) + identifier)) ;) (expression_statement "lVar7 = FUN_00119da0(param_1,lVar5,4);" (assignment_expression "lVar7 = FUN_00119da0(param_1,lVar5,4)" identifier = (call_expression "FUN_00119da0(param_1,lVar5,4)" identifier (argument_list "(param_1,lVar5,4)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar7 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }" { (expression_statement "uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5)" identifier = (call_expression "dcgettext(0,"Unable to seek to start of dynamic information\n",5)" identifier (argument_list "(0,"Unable to seek to start of dynamic information\n",5)" ( number_literal , (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (expression_statement "local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);" (assignment_expression "local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" identifier = (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" identifier (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" ( (binary_expression "param_1 + 8" identifier + number_literal) , (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) )))) , identifier , number_literal ))))) ;) (if_statement "if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(local_80 == (void *)0x0)" ( (binary_expression "local_80 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" { (labeled_statement "LAB_0012478c:\n          local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (if_statement "if (local_78 == 0) goto LAB_001243c5;" if (parenthesized_expression "(local_78 == 0)" ( (binary_expression "local_78 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;)) (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);" do (compound_statement "{\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        }" { (expression_statement "uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);" (assignment_expression "uVar21 = *(ulong *)((long)local_80 + local_a0 * 8)" identifier = (pointer_expression "*(ulong *)((long)local_80 + local_a0 * 8)" * (cast_expression "(ulong *)((long)local_80 + local_a0 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_80 + local_a0 * 8)" ( (binary_expression "(long)local_80 + local_a0 * 8" (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "local_a0 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }" { (if_statement "if (uVar21 < local_70) goto LAB_00124278;" if (parenthesized_expression "(uVar21 < local_70)" ( (binary_expression "uVar21 < local_70" identifier < identifier) )) (goto_statement "goto LAB_00124278;" goto statement_identifier ;)) (if_statement "if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }" if (parenthesized_expression "((uVar16 < uVar21) || (uVar16 == 0xffffffff))" ( (binary_expression "(uVar16 < uVar21) || (uVar16 == 0xffffffff)" (parenthesized_expression "(uVar16 < uVar21)" ( (binary_expression "uVar16 < uVar21" identifier < identifier) )) || (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) ))) )) (compound_statement "{\n              uVar16 = uVar21;\n            }" { (expression_statement "uVar16 = uVar21;" (assignment_expression "uVar16 = uVar21" identifier = identifier) ;) })) })) (expression_statement "local_a0 = local_a0 + 1;" (assignment_expression "local_a0 = local_a0 + 1" identifier = (binary_expression "local_a0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_78 != local_a0)" ( (binary_expression "local_78 != local_a0" identifier != identifier) )) ;) (if_statement "if (uVar16 == 0xffffffff) goto LAB_0012478c;" if (parenthesized_expression "(uVar16 == 0xffffffff)" ( (binary_expression "uVar16 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0012478c;" goto statement_identifier ;)) (expression_statement "local_78 = uVar16 - local_70;" (assignment_expression "local_78 = uVar16 - local_70" identifier = (binary_expression "uVar16 - local_70" identifier - identifier)) ;) (expression_statement "lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);" (assignment_expression "lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4)" identifier = (call_expression "FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4)" identifier (argument_list "(param_1,lVar5 + (local_a0 + local_78) * 4,4)" ( identifier , (binary_expression "lVar5 + (local_a0 + local_78) * 4" identifier + (binary_expression "(local_a0 + local_78) * 4" (parenthesized_expression "(local_a0 + local_78)" ( (binary_expression "local_a0 + local_78" identifier + identifier) )) * number_literal)) , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar7 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" { (labeled_statement "LAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";" statement_identifier : (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;)) (labeled_statement "LAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);" statement_identifier : (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" identifier = (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;) })) (do_statement "do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);" do (compound_statement "{\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        }" { (expression_statement "sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8))" identifier = (call_expression "fread(&local_48,4,1,*(FILE **)(param_1 + 8))" identifier (argument_list "(&local_48,4,1,*(FILE **)(param_1 + 8))" ( (pointer_expression "&local_48" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }" if (parenthesized_expression "(sVar6 != 1)" ( (binary_expression "sVar6 != 1" identifier != number_literal) )) (compound_statement "{\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }" { (expression_statement "pcVar20 = "Failed to determine last chain length\n";" (assignment_expression "pcVar20 = "Failed to determine last chain length\n"" identifier = (string_literal ""Failed to determine last chain length\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_0012340c;" goto statement_identifier ;) })) (if_statement "if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;" if (parenthesized_expression "(local_78 == 0xffffffffffffffff)" ( (binary_expression "local_78 == 0xffffffffffffffff" identifier == number_literal) )) (goto_statement "goto LAB_0012478c;" goto statement_identifier ;)) (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = (*DAT_00196f88)(&local_48,4);" (assignment_expression "uVar16 = (*DAT_00196f88)(&local_48,4)" identifier = (call_expression "(*DAT_00196f88)(&local_48,4)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(&local_48,4)" ( (pointer_expression "&local_48" & identifier) , number_literal )))) ;) }) while (parenthesized_expression "((uVar16 & 1) == 0)" ( (binary_expression "(uVar16 & 1) == 0" (parenthesized_expression "(uVar16 & 1)" ( (binary_expression "uVar16 & 1" identifier & number_literal) )) == number_literal) )) ;) (expression_statement "lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);" (assignment_expression "lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4)" identifier = (call_expression "FUN_00119da0(param_1,lVar5 + local_a0 * 4,4)" identifier (argument_list "(param_1,lVar5 + local_a0 * 4,4)" ( identifier , (binary_expression "lVar5 + local_a0 * 4" identifier + (binary_expression "local_a0 * 4" identifier * number_literal)) , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar5 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (if_statement "if (iVar4 != 0) goto LAB_001248c8;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001248c8;" goto statement_identifier ;)) (expression_statement "local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);" (assignment_expression "local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" identifier = (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" identifier (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" ( (binary_expression "param_1 + 8" identifier + number_literal) , (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) )))) , identifier , number_literal ))))) ;) (if_statement "if (local_68 == (void *)0x0) goto LAB_001243c5;" if (parenthesized_expression "(local_68 == (void *)0x0)" ( (binary_expression "local_68 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001243c5;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" else (compound_statement "{\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" { (labeled_statement "LAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);" statement_identifier : (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" identifier = (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001243c5:\n        free(local_80);" statement_identifier : (expression_statement "free(local_80);" (call_expression "free(local_80)" identifier (argument_list "(local_80)" ( identifier ))) ;)) (if_statement "if (DAT_00193480 != 0) goto LAB_00124278;" if (parenthesized_expression "(DAT_00193480 != 0)" ( (binary_expression "DAT_00193480 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00124278;" goto statement_identifier ;)) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) }))) (if_statement "if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;" if (parenthesized_expression "(DAT_00193580 != 0 || DAT_00193540 != 0)" ( (binary_expression "DAT_00193580 != 0 || DAT_00193540 != 0" (binary_expression "DAT_00193580 != 0" identifier != number_literal) || (binary_expression "DAT_00193540 != 0" identifier != number_literal)) )) (goto_statement "goto LAB_001235c8;" goto statement_identifier ;)) (labeled_statement "LAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;" statement_identifier : (if_statement "if (DAT_0019349c != 0) goto LAB_00123c50;" if (parenthesized_expression "(DAT_0019349c != 0)" ( (binary_expression "DAT_0019349c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123c50;" goto statement_identifier ;))) (if_statement "if (DAT_001934a0 == 0) goto LAB_00123620;" if (parenthesized_expression "(DAT_001934a0 == 0)" ( (binary_expression "DAT_001934a0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00123620;" goto statement_identifier ;)) (if_statement "if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }" if (parenthesized_expression "(DAT_00193480 == 0)" ( (binary_expression "DAT_00193480 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }" { (labeled_statement "LAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);" statement_identifier : (expression_statement "lVar5 = *(long *)(param_1 + 0x70);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x70)" identifier = (pointer_expression "*(long *)(param_1 + 0x70)" * (cast_expression "(long *)(param_1 + 0x70)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;)) (if_statement "if (lVar5 != 0) goto LAB_00123c5d;" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123c5d;" goto statement_identifier ;)) })) (labeled_statement "LAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);" statement_identifier : (expression_statement "pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" identifier (argument_list "(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" ( number_literal , (string_literal ""\nDynamic symbol information is not available for displaying symbols.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (DAT_00193470 != 0) goto LAB_0012362e;" if (parenthesized_expression "(DAT_00193470 != 0)" ( (binary_expression "DAT_00193470 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0012362e;" goto statement_identifier ;)) (labeled_statement "LAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" statement_identifier : (if_statement "if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" if (parenthesized_expression "(local_a8 != (ulong *)0x0)" ( (binary_expression "local_a8 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" { (labeled_statement "LAB_001239c4:\n        iVar4 = DAT_00193470;" statement_identifier : (expression_statement "iVar4 = DAT_00193470;" (assignment_expression "iVar4 = DAT_00193470" identifier = identifier) ;)) (expression_statement "free(local_a8);" (call_expression "free(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (labeled_statement "LAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" statement_identifier : (if_statement "if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" if (parenthesized_expression "((iVar4 != 0) && (local_80 != (void *)0x0))" ( (binary_expression "(iVar4 != 0) && (local_80 != (void *)0x0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_80 != (void *)0x0)" ( (binary_expression "local_80 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" { (expression_statement "pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" identifier (argument_list "(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" ( number_literal , (string_literal ""\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20,local_a0);" (call_expression "printf(pcVar20,local_a0)" identifier (argument_list "(pcVar20,local_a0)" ( identifier , identifier ))) ;) (expression_statement "__ptr = (long *)calloc(local_a0,8);" (assignment_expression "__ptr = (long *)calloc(local_a0,8)" identifier = (cast_expression "(long *)calloc(local_a0,8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(local_a0,8)" identifier (argument_list "(local_a0,8)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for gnu histogram buckets\n"" identifier = (string_literal ""Out of memory allocating space for gnu histogram buckets\n"" " string_content escape_sequence ")) ;) (if_statement "if (__ptr == (long *)0x0) goto LAB_00124267;" if (parenthesized_expression "(__ptr == (long *)0x0)" ( (binary_expression "__ptr == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00124267;" goto statement_identifier ;)) (expression_statement "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier = (cast_expression "(char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier (argument_list "(0," Length  Number     %% of total  Coverage\n",5)" ( number_literal , (string_literal "" Length  Number     %% of total  Coverage\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" if (parenthesized_expression "(local_a0 == 0)" ( (binary_expression "local_a0 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }" { (expression_statement "puVar13 = (ulong *)calloc(1,8);" (assignment_expression "puVar13 = (ulong *)calloc(1,8)" identifier = (cast_expression "(ulong *)calloc(1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,8)" identifier (argument_list "(1,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar13 == (ulong *)0x0) goto LAB_00124253;" if (parenthesized_expression "(puVar13 == (ulong *)0x0)" ( (binary_expression "puVar13 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00124253;" goto statement_identifier ;)) }) (else_clause "else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" else (compound_statement "{\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);" do (compound_statement "{\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            }" { (while_statement "while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }" while (parenthesized_expression "(lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0)" ( (comma_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0" (assignment_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8)" identifier = (pointer_expression "*(long *)((long)local_80 + sVar6 * 8)" * (cast_expression "(long *)((long)local_80 + sVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_80 + sVar6 * 8)" ( (binary_expression "(long)local_80 + sVar6 * 8" (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "sVar6 * 8" identifier * number_literal)) ))))) , (binary_expression "lVar5 != 0" identifier != number_literal)) )) (compound_statement "{\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }" { (if_statement "if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" if (parenthesized_expression "(lVar5 - local_70 < local_78)" ( (binary_expression "lVar5 - local_70 < local_78" (binary_expression "lVar5 - local_70" identifier - identifier) < identifier) )) (compound_statement "{\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }" { (expression_statement "puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);" (assignment_expression "puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8)" identifier = (cast_expression "(ulong *)((long)local_68 + (lVar5 - local_70) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_68 + (lVar5 - local_70) * 8)" ( (binary_expression "(long)local_68 + (lVar5 - local_70) * 8" (cast_expression "(long)local_68" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(lVar5 - local_70) * 8" (parenthesized_expression "(lVar5 - local_70)" ( (binary_expression "lVar5 - local_70" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "uVar17 = *puVar13;" (assignment_expression "uVar17 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "uVar18 = (ulong)((uint)uVar17 & 1);" (assignment_expression "uVar18 = (ulong)((uint)uVar17 & 1)" identifier = (call_expression "(ulong)((uint)uVar17 & 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)uVar17 & 1)" ( (binary_expression "(uint)uVar17 & 1" (cast_expression "(uint)uVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if ((uVar17 & 1) != 0) goto LAB_00123ae4;" if (parenthesized_expression "((uVar17 & 1) != 0)" ( (binary_expression "(uVar17 & 1) != 0" (parenthesized_expression "(uVar17 & 1)" ( (binary_expression "uVar17 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00123ae4;" goto statement_identifier ;)) (expression_statement "uVar18 = (local_70 - lVar5) + local_78 + 1;" (assignment_expression "uVar18 = (local_70 - lVar5) + local_78 + 1" identifier = (binary_expression "(local_70 - lVar5) + local_78 + 1" (binary_expression "(local_70 - lVar5) + local_78" (parenthesized_expression "(local_70 - lVar5)" ( (binary_expression "local_70 - lVar5" identifier - identifier) )) + identifier) + number_literal)) ;) (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (do_statement "do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);" do (compound_statement "{\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  }" { (expression_statement "uVar12 = uVar17 + 1;" (assignment_expression "uVar12 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (if_statement "if (uVar12 == uVar18) goto LAB_00123ae4;" if (parenthesized_expression "(uVar12 == uVar18)" ( (binary_expression "uVar12 == uVar18" identifier == identifier) )) (goto_statement "goto LAB_00123ae4;" goto statement_identifier ;)) (expression_statement "puVar10 = puVar13 + uVar17;" (assignment_expression "puVar10 = puVar13 + uVar17" identifier = (binary_expression "puVar13 + uVar17" identifier + identifier)) ;) (expression_statement "uVar17 = uVar12;" (assignment_expression "uVar17 = uVar12" identifier = identifier) ;) }) while (parenthesized_expression "((*puVar10 & 1) == 0)" ( (binary_expression "(*puVar10 & 1) == 0" (parenthesized_expression "(*puVar10 & 1)" ( (binary_expression "*puVar10 & 1" (pointer_expression "*puVar10" * identifier) & number_literal) )) == number_literal) )) ;) (expression_statement "__ptr[sVar6] = uVar12;" (assignment_expression "__ptr[sVar6] = uVar12" (subscript_expression "__ptr[sVar6]" identifier [ identifier ]) = identifier) ;) (if_statement "if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }" if (parenthesized_expression "(uVar16 < uVar12)" ( (binary_expression "uVar16 < uVar12" identifier < identifier) )) (compound_statement "{\n                    uVar16 = uVar12;\n                  }" { (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" identifier = identifier) ;) })) }) (else_clause "else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" else (compound_statement "{\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" { (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00123ae4:\n                  __ptr[sVar6] = uVar18;" statement_identifier : (expression_statement "__ptr[sVar6] = uVar18;" (assignment_expression "__ptr[sVar6] = uVar18" (subscript_expression "__ptr[sVar6]" identifier [ identifier ]) = identifier) ;)) (expression_statement "uVar12 = uVar18;" (assignment_expression "uVar12 = uVar18" identifier = identifier) ;) (if_statement "if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }" if (parenthesized_expression "(uVar16 < uVar18)" ( (binary_expression "uVar16 < uVar18" identifier < identifier) )) (compound_statement "{\n                    uVar16 = uVar18;\n                  }" { (expression_statement "uVar16 = uVar18;" (assignment_expression "uVar16 = uVar18" identifier = identifier) ;) })) }))) (expression_statement "uVar21 = uVar21 + uVar12;" (assignment_expression "uVar21 = uVar21 + uVar12" identifier = (binary_expression "uVar21 + uVar12" identifier + identifier)) ;) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) (if_statement "if (sVar6 == local_a0) goto LAB_00123afb;" if (parenthesized_expression "(sVar6 == local_a0)" ( (binary_expression "sVar6 == local_a0" identifier == identifier) )) (goto_statement "goto LAB_00123afb;" goto statement_identifier ;)) })) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar6 != local_a0)" ( (binary_expression "sVar6 != local_a0" identifier != identifier) )) ;) (labeled_statement "LAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);" statement_identifier : (expression_statement "puVar13 = (ulong *)calloc(uVar16 + 1,8);" (assignment_expression "puVar13 = (ulong *)calloc(uVar16 + 1,8)" identifier = (cast_expression "(ulong *)calloc(uVar16 + 1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(uVar16 + 1,8)" identifier (argument_list "(uVar16 + 1,8)" ( (binary_expression "uVar16 + 1" identifier + number_literal) , number_literal ))))) ;)) (if_statement "if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }" if (parenthesized_expression "(puVar13 == (ulong *)0x0)" ( (binary_expression "puVar13 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }" { (labeled_statement "LAB_00124253:\n              free(__ptr);" statement_identifier : (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;)) (expression_statement "pcVar20 = "Out of memory allocating space for gnu histogram counts\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for gnu histogram counts\n"" identifier = (string_literal ""Out of memory allocating space for gnu histogram counts\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124267;" goto statement_identifier ;) })) (expression_statement "plVar14 = __ptr;" (assignment_expression "plVar14 = __ptr" identifier = identifier) ;) (do_statement "do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);" do (compound_statement "{\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            }" { (expression_statement "lVar5 = *plVar14;" (assignment_expression "lVar5 = *plVar14" identifier = (pointer_expression "*plVar14" * identifier)) ;) (expression_statement "plVar14 = plVar14 + 1;" (assignment_expression "plVar14 = plVar14 + 1" identifier = (binary_expression "plVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar13[lVar5] = puVar13[lVar5] + 1;" (assignment_expression "puVar13[lVar5] = puVar13[lVar5] + 1" (subscript_expression "puVar13[lVar5]" identifier [ identifier ]) = (binary_expression "puVar13[lVar5] + 1" (subscript_expression "puVar13[lVar5]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "dVar3 = ram0x0017c6b0;" (assignment_expression "dVar3 = ram0x0017c6b0" identifier = identifier) ;) }) while (parenthesized_expression "(__ptr + local_a0 != plVar14)" ( (binary_expression "__ptr + local_a0 != plVar14" (binary_expression "__ptr + local_a0" identifier + identifier) != identifier) )) ;) (expression_statement "printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);" (call_expression "printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0)" identifier (argument_list "("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0)" ( (string_literal ""      0  %-10lu (%5.1f%%)\n"" " string_content escape_sequence ") , (binary_expression "((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0" (parenthesized_expression "((double)*puVar13 * ram0x0017c6b0)" ( (binary_expression "(double)*puVar13 * ram0x0017c6b0" (cast_expression "(double)*puVar13" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*puVar13" * identifier)) * identifier) )) / (cast_expression "(double)(long)local_a0" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ))) ;) (if_statement "if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }" if (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) )) (compound_statement "{\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }" { (expression_statement "local_e0 = (double)uVar21;" (assignment_expression "local_e0 = (double)uVar21" identifier = (cast_expression "(double)uVar21" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 1;" (assignment_expression "uVar21 = 1" identifier = number_literal) ;) (do_statement "do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);" do (compound_statement "{\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              }" { (expression_statement "uVar18 = uVar18 + puVar13[uVar21] * uVar21;" (assignment_expression "uVar18 = uVar18 + puVar13[uVar21] * uVar21" identifier = (binary_expression "uVar18 + puVar13[uVar21] * uVar21" identifier + (binary_expression "puVar13[uVar21] * uVar21" (subscript_expression "puVar13[uVar21]" identifier [ identifier ]) * identifier))) ;) (expression_statement "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);" (call_expression "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21)" identifier (argument_list "("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21)" ( (string_literal ""%7lu  %-10lu (%5.1f%%)    %5.1f%%\n"" " string_content escape_sequence ") , (binary_expression "((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0" (parenthesized_expression "((double)puVar13[uVar21] * dVar3)" ( (binary_expression "(double)puVar13[uVar21] * dVar3" (cast_expression "(double)puVar13[uVar21]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "puVar13[uVar21]" identifier [ identifier ])) * identifier) )) / (cast_expression "(double)(long)local_a0" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_a0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "((double)uVar18 * dVar3) / local_e0" (parenthesized_expression "((double)uVar18 * dVar3)" ( (binary_expression "(double)uVar18 * dVar3" (cast_expression "(double)uVar18" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier) , identifier ))) ;) (expression_statement "bVar23 = uVar16 != uVar21;" (assignment_expression "bVar23 = uVar16 != uVar21" identifier = (binary_expression "uVar16 != uVar21" identifier != identifier)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) })) }))) (expression_statement "free(puVar13);" (call_expression "free(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(local_80);" (call_expression "free(local_80)" identifier (argument_list "(local_80)" ( identifier ))) ;) (expression_statement "free(local_68);" (call_expression "free(local_68)" identifier (argument_list "(local_68)" ( identifier ))) ;) }))) }))) })) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" else (compound_statement "{\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" { (expression_statement "local_98 = DAT_00193580;" (assignment_expression "local_98 = DAT_00193580" identifier = identifier) ;) (if_statement "if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" if (parenthesized_expression "(DAT_00193580 == 0)" ( (binary_expression "DAT_00193580 == 0" identifier == number_literal) )) (compound_statement "{\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }" { (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_001234aa:\n      local_a0 = DAT_00193540;" statement_identifier : (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" identifier = identifier) ;)) (if_statement "if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" if (parenthesized_expression "(DAT_00193540 == 0)" ( (binary_expression "DAT_00193540 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }" { (labeled_statement "LAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" statement_identifier : (if_statement "if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" if (parenthesized_expression "(DAT_00193580 == 0)" ( (binary_expression "DAT_00193580 == 0" identifier == number_literal) )) (compound_statement "{\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0012395b;" goto statement_identifier ;) }))) }) (else_clause "else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" else (compound_statement "{\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" { (if_statement "if (DAT_00193470 != 0) goto LAB_001231f2;" if (parenthesized_expression "(DAT_00193470 != 0)" ( (binary_expression "DAT_00193470 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001231f2;" goto statement_identifier ;)) (if_statement "if (DAT_00193480 != 0) goto LAB_001234e0;" if (parenthesized_expression "(DAT_00193480 != 0)" ( (binary_expression "DAT_00193480 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001234e0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_001234ff:\n      local_78 = 0;" statement_identifier : (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;)) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;" statement_identifier : (if_statement "if (DAT_001934a0 == 0) goto LAB_0012395b;" if (parenthesized_expression "(DAT_001934a0 == 0)" ( (binary_expression "DAT_001934a0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0012395b;" goto statement_identifier ;))) (if_statement "if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }" if (parenthesized_expression "(DAT_00193480 != 0)" ( (binary_expression "DAT_00193480 != 0" identifier != number_literal) )) (compound_statement "{\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }" { (if_statement "if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }" if (parenthesized_expression "((DAT_00194690 == 0) || (DAT_00194678 == 0))" ( (binary_expression "(DAT_00194690 == 0) || (DAT_00194678 == 0)" (parenthesized_expression "(DAT_00194690 == 0)" ( (binary_expression "DAT_00194690 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_00194678 == 0)" ( (binary_expression "DAT_00194678 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }" { (if_statement "if (DAT_0019349c != 0) goto LAB_00123c50;" if (parenthesized_expression "(DAT_0019349c != 0)" ( (binary_expression "DAT_0019349c != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123c50;" goto statement_identifier ;)) (goto_statement "goto LAB_00123987;" goto statement_identifier ;) })) (if_statement "if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }" if (parenthesized_expression "(DAT_00193580 != 0)" ( (binary_expression "DAT_00193580 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }" { (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table for image:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table for image:\n",5)" identifier (argument_list "(0,"\nSymbol table for image:\n",5)" ( number_literal , (string_literal ""\nSymbol table for image:\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (expression_statement "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" { (expression_statement "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (expression_statement "pvVar9 = (void *)FUN_0014c850(local_b0);" (assignment_expression "pvVar9 = (void *)FUN_0014c850(local_b0)" identifier = (cast_expression "(void *)FUN_0014c850(local_b0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014c850(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))))) ;) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" identifier = number_literal) ;) (expression_statement "memset(pvVar9,0,local_b0);" (call_expression "memset(pvVar9,0,local_b0)" identifier (argument_list "(pvVar9,0,local_b0)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }" if (parenthesized_expression "(local_98 != 0)" ( (binary_expression "local_98 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }" { (do_statement "do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);" do (compound_statement "{\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            }" { (for_statement "for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }" for ( (assignment_expression "uVar16 = local_a8[sVar6]" identifier = (subscript_expression "local_a8[sVar6]" identifier [ identifier ])) ; (binary_expression "uVar16 != 0" identifier != number_literal) ; (assignment_expression "uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)" identifier = (pointer_expression "*(ulong *)((long)__ptr_00 + uVar16 * 8)" * (cast_expression "(ulong *)((long)__ptr_00 + uVar16 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__ptr_00 + uVar16 * 8)" ( (binary_expression "(long)__ptr_00 + uVar16 * 8" (cast_expression "(long)__ptr_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar16 * 8" identifier * number_literal)) ))))) ) (compound_statement "{\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }" { (expression_statement "FUN_00122f40(param_1,uVar16,sVar6);" (call_expression "FUN_00122f40(param_1,uVar16,sVar6)" identifier (argument_list "(param_1,uVar16,sVar6)" ( identifier , identifier , identifier ))) ;) (if_statement "if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }" if (parenthesized_expression "((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0'))" ( (binary_expression "(local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')" (parenthesized_expression "(local_b0 <= uVar16)" ( (binary_expression "local_b0 <= uVar16" identifier <= identifier) )) || (parenthesized_expression "(*(char *)((long)pvVar9 + uVar16) != '\0')" ( (binary_expression "*(char *)((long)pvVar9 + uVar16) != '\0'" (pointer_expression "*(char *)((long)pvVar9 + uVar16)" * (cast_expression "(char *)((long)pvVar9 + uVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar9 + uVar16)" ( (binary_expression "(long)pvVar9 + uVar16" (cast_expression "(long)pvVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }" { (expression_statement "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);" (assignment_expression "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5)" identifier = (call_expression "dcgettext(0,"histogram chain is corrupt\n",5)" identifier (argument_list "(0,"histogram chain is corrupt\n",5)" ( number_literal , (string_literal ""histogram chain is corrupt\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (break_statement "break;" break ;) })) (expression_statement "*(char *)((long)pvVar9 + uVar16) = '\x01';" (assignment_expression "*(char *)((long)pvVar9 + uVar16) = '\x01'" (pointer_expression "*(char *)((long)pvVar9 + uVar16)" * (cast_expression "(char *)((long)pvVar9 + uVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar9 + uVar16)" ( (binary_expression "(long)pvVar9 + uVar16" (cast_expression "(long)pvVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_98 != sVar6)" ( (binary_expression "local_98 != sVar6" identifier != identifier) )) ;) })) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) })) (if_statement "if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }" if (parenthesized_expression "(DAT_00193540 != 0)" ( (binary_expression "DAT_00193540 != 0" identifier != number_literal) )) (compound_statement "{\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }" { (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" identifier (argument_list "(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" ( number_literal , (string_literal ""\nSymbol table of `.gnu.hash\' for image:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (expression_statement "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" { (expression_statement "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" identifier = (string_literal ""  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" identifier = number_literal) ;) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }" if (parenthesized_expression "(local_a0 != 0)" ( (binary_expression "local_a0 != 0" identifier != number_literal) )) (compound_statement "{\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }" { (do_statement "do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);" do (compound_statement "{\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            }" { (expression_statement "lVar5 = *(long *)((long)local_80 + sVar6 * 8);" (assignment_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8)" identifier = (pointer_expression "*(long *)((long)local_80 + sVar6 * 8)" * (cast_expression "(long *)((long)local_80 + sVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_80 + sVar6 * 8)" ( (binary_expression "(long)local_80 + sVar6 * 8" (cast_expression "(long)local_80" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "sVar6 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }" { (expression_statement "uVar16 = lVar5 - local_70;" (assignment_expression "uVar16 = lVar5 - local_70" identifier = (binary_expression "lVar5 - local_70" identifier - identifier)) ;) (do_statement "do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);" do (compound_statement "{\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                }" { (expression_statement "FUN_00122f40(param_1,uVar16 + local_70,sVar6);" (call_expression "FUN_00122f40(param_1,uVar16 + local_70,sVar6)" identifier (argument_list "(param_1,uVar16 + local_70,sVar6)" ( identifier , (binary_expression "uVar16 + local_70" identifier + identifier) , identifier ))) ;) (if_statement "if (local_78 <= uVar16) break;" if (parenthesized_expression "(local_78 <= uVar16)" ( (binary_expression "local_78 <= uVar16" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0)" ( (binary_expression "(*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0" (parenthesized_expression "(*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1)" ( (binary_expression "*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1" (pointer_expression "*(byte *)((long)local_68 + uVar16 * 8 + -8)" * (cast_expression "(byte *)((long)local_68 + uVar16 * 8 + -8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_68 + uVar16 * 8 + -8)" ( (binary_expression "(long)local_68 + uVar16 * 8 + -8" (binary_expression "(long)local_68 + uVar16 * 8" (cast_expression "(long)local_68" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar16 * 8" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) ;) })) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" identifier = (binary_expression "sVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar6 != local_a0)" ( (binary_expression "sVar6 != local_a0" identifier != identifier) )) ;) })) })) (goto_statement "goto LAB_00123620;" goto statement_identifier ;) })) (if_statement "if (DAT_0019349c == 0) goto LAB_001242fe;" if (parenthesized_expression "(DAT_0019349c == 0)" ( (binary_expression "DAT_0019349c == 0" identifier == number_literal) )) (goto_statement "goto LAB_001242fe;" goto statement_identifier ;)) (labeled_statement "LAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);" statement_identifier : (expression_statement "lVar5 = *(long *)(param_1 + 0x70);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x70)" identifier = (pointer_expression "*(long *)(param_1 + 0x70)" * (cast_expression "(long *)(param_1 + 0x70)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;)) (if_statement "if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" if (parenthesized_expression "(lVar5 == 0)" ( (binary_expression "lVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }" { (if_statement "if (DAT_001934a0 != 0) goto LAB_00123987;" if (parenthesized_expression "(DAT_001934a0 != 0)" ( (binary_expression "DAT_001934a0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00123987;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" else (compound_statement "{\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" { (labeled_statement "LAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" statement_identifier : (if_statement "if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" if (parenthesized_expression "(*(int *)(param_1 + 100) != 0)" ( (binary_expression "*(int *)(param_1 + 100) != 0" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));" do (compound_statement "{\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          }" { (expression_statement "iVar4 = *(int *)(lVar5 + 4);" (assignment_expression "iVar4 = *(int *)(lVar5 + 4)" identifier = (pointer_expression "*(int *)(lVar5 + 4)" * (cast_expression "(int *)(lVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 4)" ( (binary_expression "lVar5 + 4" identifier + number_literal) ))))) ;) (if_statement "if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2))))" ( (binary_expression "((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))" (parenthesized_expression "((iVar4 == 2) || (iVar4 == 0xb))" ( (binary_expression "(iVar4 == 2) || (iVar4 == 0xb)" (parenthesized_expression "(iVar4 == 2)" ( (binary_expression "iVar4 == 2" identifier == number_literal) )) || (parenthesized_expression "(iVar4 == 0xb)" ( (binary_expression "iVar4 == 0xb" identifier == number_literal) ))) )) && (parenthesized_expression "((DAT_001934a0 != 0 || (iVar4 != 2)))" ( (parenthesized_expression "(DAT_001934a0 != 0 || (iVar4 != 2))" ( (binary_expression "DAT_001934a0 != 0 || (iVar4 != 2)" (binary_expression "DAT_001934a0 != 0" identifier != number_literal) || (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }" { (if_statement "if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" if (parenthesized_expression "(*(ulong *)(lVar5 + 0x38) == 0)" ( (binary_expression "*(ulong *)(lVar5 + 0x38) == 0" (pointer_expression "*(ulong *)(lVar5 + 0x38)" * (cast_expression "(ulong *)(lVar5 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x38)" ( (binary_expression "lVar5 + 0x38" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }" { (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier = (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) , (binary_expression "param_1 + 0x88" identifier + number_literal) , identifier )))) ;) (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" identifier (argument_list "(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" ( number_literal , (string_literal ""\nSymbol table \'%s\' has a sh_entsize of zero!\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20,uVar8);" (call_expression "printf(pcVar20,uVar8)" identifier (argument_list "(pcVar20,uVar8)" ( identifier , identifier ))) ;) }) (else_clause "else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" else (compound_statement "{\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" { (expression_statement "uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);" (assignment_expression "uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38)" identifier = (binary_expression "*(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38)" (pointer_expression "*(ulong *)(lVar5 + 0x20)" * (cast_expression "(ulong *)(lVar5 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x20)" ( (binary_expression "lVar5 + 0x20" identifier + number_literal) )))) / (pointer_expression "*(ulong *)(lVar5 + 0x38)" * (cast_expression "(ulong *)(lVar5 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x38)" ( (binary_expression "lVar5 + 0x38" identifier + number_literal) )))))) ;) (expression_statement "local_48 = uVar16;" (assignment_expression "local_48 = uVar16" identifier = identifier) ;) (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier = (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) , (binary_expression "param_1 + 0x88" identifier + number_literal) , identifier )))) ;) (expression_statement "pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" identifier = (cast_expression "(char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" identifier (argument_list "(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" ( number_literal , (string_literal ""\nSymbol table \'%s\' contains %lu entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nSymbol table \'%s\' contains %lu entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20,uVar8,uVar16);" (call_expression "printf(pcVar20,uVar8,uVar16)" identifier (argument_list "(pcVar20,uVar8,uVar16)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"" identifier = (string_literal ""   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) (if_statement "if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }" { (expression_statement "pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"" identifier = (string_literal ""   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"" " string_content escape_sequence ")) ;) })) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }" if (parenthesized_expression "(DAT_0019345c == 0)" ( (binary_expression "DAT_0019345c == 0" identifier == number_literal) )) (compound_statement "{\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }" { (expression_statement "local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);" (assignment_expression "local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48)" identifier = (cast_expression "(void *)FUN_00114ea0(param_1,lVar5,&local_48)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00114ea0(param_1,lVar5,&local_48)" identifier (argument_list "(param_1,lVar5,&local_48)" ( identifier , identifier , (pointer_expression "&local_48" & identifier) ))))) ;) }) (else_clause "else {\n                  local_c0 = (void *)FUN_001149b0();\n                }" else (compound_statement "{\n                  local_c0 = (void *)FUN_001149b0();\n                }" { (expression_statement "local_c0 = (void *)FUN_001149b0();" (assignment_expression "local_c0 = (void *)FUN_001149b0()" identifier = (cast_expression "(void *)FUN_001149b0()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001149b0()" identifier (argument_list "()" ( ))))) ;) }))) (if_statement "if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }" if (parenthesized_expression "(local_c0 != (void *)0x0)" ( (binary_expression "local_c0 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }" { (expression_statement "uVar2 = *(uint *)(lVar5 + 0x28);" (assignment_expression "uVar2 = *(uint *)(lVar5 + 0x28)" identifier = (pointer_expression "*(uint *)(lVar5 + 0x28)" * (cast_expression "(uint *)(lVar5 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x28)" ( (binary_expression "lVar5 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" if (parenthesized_expression "(uVar2 == *(uint *)(param_1 + 0x68))" ( (binary_expression "uVar2 == *(uint *)(param_1 + 0x68)" identifier == (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) )) (compound_statement "{\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }" { (expression_statement "local_f0 = *(void **)(param_1 + 0x80);" (assignment_expression "local_f0 = *(void **)(param_1 + 0x80)" identifier = (pointer_expression "*(void **)(param_1 + 0x80)" * (cast_expression "(void **)(param_1 + 0x80)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(ulong *)(param_1 + 0x88);" (assignment_expression "uVar16 = *(ulong *)(param_1 + 0x88)" identifier = (pointer_expression "*(ulong *)(param_1 + 0x88)" * (cast_expression "(ulong *)(param_1 + 0x88)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" else (compound_statement "{\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" { (expression_statement "local_f0 = (void *)0x0;" (assignment_expression "local_f0 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (if_statement "if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }" if (parenthesized_expression "(uVar2 < *(uint *)(param_1 + 100))" ( (binary_expression "uVar2 < *(uint *)(param_1 + 100)" identifier < (pointer_expression "*(uint *)(param_1 + 100)" * (cast_expression "(uint *)(param_1 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) ))))) )) (compound_statement "{\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }" { (expression_statement "lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);" (assignment_expression "lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70)" identifier = (binary_expression "(ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70)" (binary_expression "(ulong)uVar2 * 0x50" (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal) + (pointer_expression "*(long *)(param_1 + 0x70)" * (cast_expression "(long *)(param_1 + 0x70)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))))) ;) (expression_statement "uVar8 = dcgettext(0,"string table",5);" (assignment_expression "uVar8 = dcgettext(0,"string table",5)" identifier = (call_expression "dcgettext(0,"string table",5)" identifier (argument_list "(0,"string table",5)" ( number_literal , (string_literal ""string table"" " string_content ") , number_literal )))) ;) (expression_statement "local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);" (assignment_expression "local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" identifier = (cast_expression "(void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" identifier (argument_list "(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" ( number_literal , (binary_expression "param_1 + 8" identifier + number_literal) , (binary_expression "param_1 + 0x10" identifier + number_literal) , (pointer_expression "*(undefined8 *)(lVar7 + 0x18)" * (cast_expression "(undefined8 *)(lVar7 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x18)" ( (binary_expression "lVar7 + 0x18" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined8 *)(lVar7 + 0x20)" * (cast_expression "(undefined8 *)(lVar7 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x20)" ( (binary_expression "lVar7 + 0x20" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }" if (parenthesized_expression "(local_f0 != (void *)0x0)" ( (binary_expression "local_f0 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }" { (expression_statement "uVar16 = *(ulong *)(lVar7 + 0x20);" (assignment_expression "uVar16 = *(ulong *)(lVar7 + 0x20)" identifier = (pointer_expression "*(ulong *)(lVar7 + 0x20)" * (cast_expression "(ulong *)(lVar7 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x20)" ( (binary_expression "lVar7 + 0x20" identifier + number_literal) ))))) ;) })) })) }))) (if_statement "if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = (ulong *)((long)local_c0 + 0x10);" (assignment_expression "puVar13 = (ulong *)((long)local_c0 + 0x10)" identifier = (cast_expression "(ulong *)((long)local_c0 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_c0 + 0x10)" ( (binary_expression "(long)local_c0 + 0x10" (cast_expression "(long)local_c0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (do_statement "do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);" do (compound_statement "{\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    }" { (expression_statement "printf("%6d: ",uVar21);" (call_expression "printf("%6d: ",uVar21)" identifier (argument_list "("%6d: ",uVar21)" ( (string_literal ""%6d: "" " string_content ") , identifier ))) ;) (expression_statement "FUN_001116b0(puVar13[-2],6);" (call_expression "FUN_001116b0(puVar13[-2],6)" identifier (argument_list "(puVar13[-2],6)" ( (subscript_expression "puVar13[-2]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "putc(0x20,stdout);" (call_expression "putc(0x20,stdout)" identifier (argument_list "(0x20,stdout)" ( number_literal , identifier ))) ;) (expression_statement "FUN_001116b0(puVar13[-1],2);" (call_expression "FUN_001116b0(puVar13[-1],2)" identifier (argument_list "(puVar13[-1],2)" ( (subscript_expression "puVar13[-1]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);" (assignment_expression "uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" identifier = (call_expression "FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" identifier (argument_list "(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , (binary_expression "param_1 + 0x52" identifier + number_literal) , (binary_expression "(byte)puVar13[1] & 0xf" (cast_expression "(byte)puVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar13[1]" identifier [ number_literal ])) & number_literal) )))) ;) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" identifier (argument_list "(" %-7s",uVar8)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (expression_statement "uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);" (assignment_expression "uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4)" identifier = (call_expression "FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4)" identifier (argument_list "(param_1 + 0x1f,(byte)puVar13[1] >> 4)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , (binary_expression "(byte)puVar13[1] >> 4" (cast_expression "(byte)puVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar13[1]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "printf(" %-6s",uVar8);" (call_expression "printf(" %-6s",uVar8)" identifier (argument_list "(" %-6s",uVar8)" ( (string_literal "" %-6s"" " string_content ") , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" if (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\x06')" ( (binary_expression "*(char *)(param_1 + 0x1f) == '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" * (cast_expression "(char *)(param_1 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) )))) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }" { (expression_statement "uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));" (assignment_expression "uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9))" identifier = (call_expression "FUN_00114270(*(undefined1 *)((long)puVar13 + 9))" identifier (argument_list "(*(undefined1 *)((long)puVar13 + 9))" ( (pointer_expression "*(undefined1 *)((long)puVar13 + 9)" * (cast_expression "(undefined1 *)((long)puVar13 + 9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 9)" ( (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )))) ;) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" identifier (argument_list "(" %-7s",uVar8)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) }) (else_clause "else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" else (compound_statement "{\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" { (expression_statement "bVar22 = *(byte *)((long)puVar13 + 9) & 3;" (assignment_expression "bVar22 = *(byte *)((long)puVar13 + 9) & 3" identifier = (binary_expression "*(byte *)((long)puVar13 + 9) & 3" (pointer_expression "*(byte *)((long)puVar13 + 9)" * (cast_expression "(byte *)((long)puVar13 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 9)" ( (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "uVar8 = FUN_001141e0(bVar22);" (assignment_expression "uVar8 = FUN_001141e0(bVar22)" identifier = (call_expression "FUN_001141e0(bVar22)" identifier (argument_list "(bVar22)" ( identifier )))) ;) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" identifier (argument_list "(" %-7s",uVar8)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (if_statement "if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }" if (parenthesized_expression "(*(byte *)((long)puVar13 + 9) != bVar22)" ( (binary_expression "*(byte *)((long)puVar13 + 9) != bVar22" (pointer_expression "*(byte *)((long)puVar13 + 9)" * (cast_expression "(byte *)((long)puVar13 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 9)" ( (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }" { (expression_statement "uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);" (assignment_expression "uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" identifier = (call_expression "FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" identifier (argument_list "(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" ( identifier , (binary_expression "*(byte *)((long)puVar13 + 9) ^ bVar22" (pointer_expression "*(byte *)((long)puVar13 + 9)" * (cast_expression "(byte *)((long)puVar13 + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 9)" ( (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ^ identifier) )))) ;) (expression_statement "printf(" [%s] ",uVar8);" (call_expression "printf(" [%s] ",uVar8)" identifier (argument_list "(" [%s] ",uVar8)" ( (string_literal "" [%s] "" " string_content ") , identifier ))) ;) })) }))) (expression_statement "uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));" (assignment_expression "uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc))" identifier = (call_expression "FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc))" identifier (argument_list "(param_1,*(undefined4 *)((long)puVar13 + 0xc))" ( identifier , (pointer_expression "*(undefined4 *)((long)puVar13 + 0xc)" * (cast_expression "(undefined4 *)((long)puVar13 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + 0xc)" ( (binary_expression "(long)puVar13 + 0xc" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )))) ;) (expression_statement "printf(" %4s ",uVar8);" (call_expression "printf(" %4s ",uVar8)" identifier (argument_list "(" %4s ",uVar8)" ( (string_literal "" %4s "" " string_content ") , identifier ))) ;) (if_statement "if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" if (parenthesized_expression "(*puVar13 < uVar16)" ( (binary_expression "*puVar13 < uVar16" (pointer_expression "*puVar13" * identifier) < identifier) )) (compound_statement "{\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }" { (expression_statement "lVar7 = *puVar13 + (long)local_f0;" (assignment_expression "lVar7 = *puVar13 + (long)local_f0" identifier = (binary_expression "*puVar13 + (long)local_f0" (pointer_expression "*puVar13" * identifier) + (cast_expression "(long)local_f0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) }) (else_clause "else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" else (compound_statement "{\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" { (expression_statement "lVar7 = dcgettext(0,"<corrupt>",5);" (assignment_expression "lVar7 = dcgettext(0,"<corrupt>",5)" identifier = (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal )))) ;) }))) (expression_statement "FUN_001122a0(0x19,lVar7);" (call_expression "FUN_001122a0(0x19,lVar7)" identifier (argument_list "(0x19,lVar7)" ( number_literal , identifier ))) ;) (expression_statement "lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);" (assignment_expression "lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" identifier = (call_expression "FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" identifier (argument_list "(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" ( identifier , (binary_expression "*(int *)(lVar5 + 4) == 0xb" (pointer_expression "*(int *)(lVar5 + 4)" * (cast_expression "(int *)(lVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 4)" ( (binary_expression "lVar5 + 4" identifier + number_literal) )))) == number_literal) , identifier , identifier , identifier , identifier , (binary_expression "(long)puVar13 + 0xc" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) , identifier , (pointer_expression "&local_52" & identifier) )))) ;) (if_statement "if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }" if (parenthesized_expression "(lVar7 != 0)" ( (binary_expression "lVar7 != 0" identifier != number_literal) )) (compound_statement "{\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }" { (if_statement "if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" if (parenthesized_expression "(local_50[0] == 0)" ( (binary_expression "local_50[0] == 0" (subscript_expression "local_50[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }" { (expression_statement "printf("@%s (%d)",lVar7,(ulong)local_52);" (call_expression "printf("@%s (%d)",lVar7,(ulong)local_52)" identifier (argument_list "("@%s (%d)",lVar7,(ulong)local_52)" ( (string_literal ""@%s (%d)"" " string_content ") , identifier , (cast_expression "(ulong)local_52" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) ;) }) (else_clause "else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" else (compound_statement "{\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" { (expression_statement "pcVar20 = "@@%s";" (assignment_expression "pcVar20 = "@@%s"" identifier = (string_literal ""@@%s"" " string_content ")) ;) (if_statement "if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }" if (parenthesized_expression "(local_50[0] == 1)" ( (binary_expression "local_50[0] == 1" (subscript_expression "local_50[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                            pcVar20 = "@%s";\n                          }" { (expression_statement "pcVar20 = "@%s";" (assignment_expression "pcVar20 = "@%s"" identifier = (string_literal ""@%s"" " string_content ")) ;) })) (expression_statement "printf(pcVar20,lVar7);" (call_expression "printf(pcVar20,lVar7)" identifier (argument_list "(pcVar20,lVar7)" ( identifier , identifier ))) ;) }))) })) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (if_statement "if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }" if (parenthesized_expression "(((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06'))" ( (binary_expression "((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')" (parenthesized_expression "((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8))" ( (binary_expression "(((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)" (parenthesized_expression "(((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21))" ( (binary_expression "((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)" (parenthesized_expression "((byte)((byte)puVar13[1] >> 4) == 0)" ( (binary_expression "(byte)((byte)puVar13[1] >> 4) == 0" (call_expression "(byte)((byte)puVar13[1] >> 4)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((byte)puVar13[1] >> 4)" ( (binary_expression "(byte)puVar13[1] >> 4" (cast_expression "(byte)puVar13[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar13[1]" identifier [ number_literal ])) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)" ( (comma_expression "uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21" (assignment_expression "uVar2 = *(uint *)(lVar5 + 0x2c)" identifier = (pointer_expression "*(uint *)(lVar5 + 0x2c)" * (cast_expression "(uint *)(lVar5 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x2c)" ( (binary_expression "lVar5 + 0x2c" identifier + number_literal) ))))) , (binary_expression "uVar2 <= (uint)uVar21" identifier <= (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ))) )) && (parenthesized_expression "(*(short *)(param_1 + 0x52) != 8)" ( (binary_expression "*(short *)(param_1 + 0x52) != 8" (pointer_expression "*(short *)(param_1 + 0x52)" * (cast_expression "(short *)(param_1 + 0x52)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x52)" ( (binary_expression "param_1 + 0x52" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(*(char *)(param_1 + 0x1f) != '\x06')" ( (binary_expression "*(char *)(param_1 + 0x1f) != '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" * (cast_expression "(char *)(param_1 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) )))) != (char_literal "'\x06'" ' escape_sequence ')) ))) )) (compound_statement "{\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }" { (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier = (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" identifier (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) , (binary_expression "param_1 + 0x88" identifier + number_literal) , identifier )))) ;) (expression_statement "uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" identifier = (call_expression "dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" identifier (argument_list "(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" ( number_literal , (string_literal ""local symbol %u found at index >= %s\'s sh_info value of %u\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar15,uVar21,uVar8,uVar2);" (call_expression "warn(uVar15,uVar21,uVar8,uVar2)" identifier (argument_list "(uVar15,uVar21,uVar8,uVar2)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "uVar21 = (ulong)((uint)uVar21 + 1);" (assignment_expression "uVar21 = (ulong)((uint)uVar21 + 1)" identifier = (call_expression "(ulong)((uint)uVar21 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)uVar21 + 1)" ( (binary_expression "(uint)uVar21 + 1" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) + number_literal) )))) ;) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" identifier = (binary_expression "puVar13 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar21 < local_48)" ( (binary_expression "uVar21 < local_48" identifier < identifier) )) ;) })) (expression_statement "free(local_c0);" (call_expression "free(local_c0)" identifier (argument_list "(local_c0)" ( identifier ))) ;) (if_statement "if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }" if (parenthesized_expression "(*(void **)(param_1 + 0x80) != local_f0)" ( (binary_expression "*(void **)(param_1 + 0x80) != local_f0" (pointer_expression "*(void **)(param_1 + 0x80)" * (cast_expression "(void **)(param_1 + 0x80)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n                    free(local_f0);\n                  }" { (expression_statement "free(local_f0);" (call_expression "free(local_f0)" identifier (argument_list "(local_f0)" ( identifier ))) ;) })) })) }))) })) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "lVar5 = lVar5 + 0x50;" (assignment_expression "lVar5 = lVar5 + 0x50" identifier = (binary_expression "lVar5 + 0x50" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar19 < *(uint *)(param_1 + 100))" ( (binary_expression "uVar19 < *(uint *)(param_1 + 100)" identifier < (pointer_expression "*(uint *)(param_1 + 100)" * (cast_expression "(uint *)(param_1 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) ))))) )) ;) }))) }))) (labeled_statement "LAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;" statement_identifier : (if_statement "if (DAT_00193470 == 0) goto LAB_001239b8;" if (parenthesized_expression "(DAT_00193470 == 0)" ( (binary_expression "DAT_00193470 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001239b8;" goto statement_identifier ;))) (labeled_statement "LAB_0012362e:\n      iVar4 = DAT_00193470;" statement_identifier : (expression_statement "iVar4 = DAT_00193470;" (assignment_expression "iVar4 = DAT_00193470" identifier = identifier) ;)) (if_statement "if (local_a8 == (ulong *)0x0) goto LAB_001239d6;" if (parenthesized_expression "(local_a8 == (ulong *)0x0)" ( (binary_expression "local_a8 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001239d6;" goto statement_identifier ;)) (expression_statement "pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" identifier = (cast_expression "(char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" identifier (argument_list "(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" ( number_literal , (string_literal ""\nHistogram for bucket list length (total of %lu bucket):\n"" " escape_sequence string_content escape_sequence ") , (string_literal ""\nHistogram for bucket list length (total of %lu buckets):\n"" " escape_sequence string_content escape_sequence ") , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar20,local_98);" (call_expression "printf(pcVar20,local_98)" identifier (argument_list "(pcVar20,local_98)" ( identifier , identifier ))) ;) (expression_statement "puVar13 = (ulong *)calloc(local_98,8);" (assignment_expression "puVar13 = (ulong *)calloc(local_98,8)" identifier = (cast_expression "(ulong *)calloc(local_98,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(local_98,8)" identifier (argument_list "(local_98,8)" ( identifier , number_literal ))))) ;) (expression_statement "pcVar20 = "Out of memory allocating space for histogram buckets\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for histogram buckets\n"" identifier = (string_literal ""Out of memory allocating space for histogram buckets\n"" " string_content escape_sequence ")) ;) (if_statement "if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }" if (parenthesized_expression "(puVar13 != (ulong *)0x0)" ( (binary_expression "puVar13 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }" { (expression_statement "pvVar9 = (void *)FUN_0014c850(local_b0,1,5);" (assignment_expression "pvVar9 = (void *)FUN_0014c850(local_b0,1,5)" identifier = (cast_expression "(void *)FUN_0014c850(local_b0,1,5)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0014c850(local_b0,1,5)" identifier (argument_list "(local_b0,1,5)" ( identifier , number_literal , number_literal ))))) ;) (expression_statement "memset(pvVar9,0,local_b0);" (call_expression "memset(pvVar9,0,local_b0)" identifier (argument_list "(pvVar9,0,local_b0)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier = (cast_expression "(char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Length  Number     %% of total  Coverage\n",5)" identifier (argument_list "(0," Length  Number     %% of total  Coverage\n",5)" ( number_literal , (string_literal "" Length  Number     %% of total  Coverage\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" identifier (argument_list "(pcVar20)" ( identifier ))) ;) (if_statement "if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" if (parenthesized_expression "(local_98 == 0)" ( (binary_expression "local_98 == 0" identifier == number_literal) )) (compound_statement "{\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }" { (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) (expression_statement "puVar10 = (ulong *)calloc(1,8);" (assignment_expression "puVar10 = (ulong *)calloc(1,8)" identifier = (cast_expression "(ulong *)calloc(1,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(1,8)" identifier (argument_list "(1,8)" ( number_literal , number_literal ))))) ;) (if_statement "if (puVar10 == (ulong *)0x0) goto LAB_001247f5;" if (parenthesized_expression "(puVar10 == (ulong *)0x0)" ( (binary_expression "puVar10 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001247f5;" goto statement_identifier ;)) }) (else_clause "else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" else (compound_statement "{\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" { (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar10 = local_a8;" (assignment_expression "puVar10 = local_a8" identifier = identifier) ;) (expression_statement "puVar11 = puVar13;" (assignment_expression "puVar11 = puVar13" identifier = identifier) ;) (do_statement "do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);" do (compound_statement "{\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          }" { (expression_statement "uVar18 = *puVar10;" (assignment_expression "uVar18 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "sVar6 = uVar21 + 1;" (assignment_expression "sVar6 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }" { (expression_statement "uVar17 = *puVar11;" (assignment_expression "uVar17 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "lVar5 = uVar16 - uVar17;" (assignment_expression "lVar5 = uVar16 - uVar17" identifier = (binary_expression "uVar16 - uVar17" identifier - identifier)) ;) (do_statement "do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);" do (compound_statement "{\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              }" { (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = lVar5 + uVar17;" (assignment_expression "uVar16 = lVar5 + uVar17" identifier = (binary_expression "lVar5 + uVar17" identifier + identifier)) ;) (expression_statement "sVar6 = uVar21 + 1;" (assignment_expression "sVar6 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (if_statement "if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }" if (parenthesized_expression "(uVar21 < uVar17)" ( (binary_expression "uVar21 < uVar17" identifier < identifier) )) (compound_statement "{\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }" { (expression_statement "sVar6 = uVar21 + 2;" (assignment_expression "sVar6 = uVar21 + 2" identifier = (binary_expression "uVar21 + 2" identifier + number_literal)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) })) (if_statement "if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }" if (parenthesized_expression "((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0'))" ( (binary_expression "(local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')" (parenthesized_expression "(local_b0 <= uVar18)" ( (binary_expression "local_b0 <= uVar18" identifier <= identifier) )) || (parenthesized_expression "(*(char *)((long)pvVar9 + uVar18) != '\0')" ( (binary_expression "*(char *)((long)pvVar9 + uVar18) != '\0'" (pointer_expression "*(char *)((long)pvVar9 + uVar18)" * (cast_expression "(char *)((long)pvVar9 + uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar9 + uVar18)" ( (binary_expression "(long)pvVar9 + uVar18" (cast_expression "(long)pvVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }" { (expression_statement "*puVar11 = uVar17;" (assignment_expression "*puVar11 = uVar17" (pointer_expression "*puVar11" * identifier) = identifier) ;) (expression_statement "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);" (assignment_expression "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5)" identifier = (call_expression "dcgettext(0,"histogram chain is corrupt\n",5)" identifier (argument_list "(0,"histogram chain is corrupt\n",5)" ( number_literal , (string_literal ""histogram chain is corrupt\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (goto_statement "goto LAB_001237a1;" goto statement_identifier ;) })) (expression_statement "*(char *)((long)pvVar9 + uVar18) = '\x01';" (assignment_expression "*(char *)((long)pvVar9 + uVar18) = '\x01'" (pointer_expression "*(char *)((long)pvVar9 + uVar18)" * (cast_expression "(char *)((long)pvVar9 + uVar18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar9 + uVar18)" ( (binary_expression "(long)pvVar9 + uVar18" (cast_expression "(long)pvVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);" (assignment_expression "uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8)" identifier = (pointer_expression "*(ulong *)((long)__ptr_00 + uVar18 * 8)" * (cast_expression "(ulong *)((long)__ptr_00 + uVar18 * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__ptr_00 + uVar18 * 8)" ( (binary_expression "(long)__ptr_00 + uVar18 * 8" (cast_expression "(long)__ptr_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar18 * 8" identifier * number_literal)) ))))) ;) }) while (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) ;) (expression_statement "*puVar11 = uVar17;" (assignment_expression "*puVar11 = uVar17" (pointer_expression "*puVar11" * identifier) = identifier) ;) })) (labeled_statement "LAB_001237a1:\n            puVar10 = puVar10 + 1;" statement_identifier : (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;)) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_a8 + local_98 != puVar10)" ( (binary_expression "local_a8 + local_98 != puVar10" (binary_expression "local_a8 + local_98" identifier + identifier) != identifier) )) ;) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) (expression_statement "puVar10 = (ulong *)calloc(sVar6,8);" (assignment_expression "puVar10 = (ulong *)calloc(sVar6,8)" identifier = (cast_expression "(ulong *)calloc(sVar6,8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(sVar6,8)" identifier (argument_list "(sVar6,8)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }" if (parenthesized_expression "(puVar10 == (ulong *)0x0)" ( (binary_expression "puVar10 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }" { (labeled_statement "LAB_001247f5:\n            free(puVar13);" statement_identifier : (expression_statement "free(puVar13);" (call_expression "free(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;)) (expression_statement "pcVar20 = "Out of memory allocating space for histogram counts\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for histogram counts\n"" identifier = (string_literal ""Out of memory allocating space for histogram counts\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00124267;" goto statement_identifier ;) })) (expression_statement "puVar11 = puVar13;" (assignment_expression "puVar11 = puVar13" identifier = identifier) ;) (do_statement "do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);" do (compound_statement "{\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          }" { (expression_statement "uVar18 = *puVar11;" (assignment_expression "uVar18 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar10[uVar18] = puVar10[uVar18] + 1;" (assignment_expression "puVar10[uVar18] = puVar10[uVar18] + 1" (subscript_expression "puVar10[uVar18]" identifier [ identifier ]) = (binary_expression "puVar10[uVar18] + 1" (subscript_expression "puVar10[uVar18]" identifier [ identifier ]) + number_literal)) ;) (expression_statement "dVar3 = ram0x0017c6b0;" (assignment_expression "dVar3 = ram0x0017c6b0" identifier = identifier) ;) }) while (parenthesized_expression "(puVar13 + local_98 != puVar11)" ( (binary_expression "puVar13 + local_98 != puVar11" (binary_expression "puVar13 + local_98" identifier + identifier) != identifier) )) ;) (expression_statement "printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);" (call_expression "printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98)" identifier (argument_list "("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98)" ( (string_literal ""      0  %-10lu (%5.1f%%)\n"" " string_content escape_sequence ") , (binary_expression "((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98" (parenthesized_expression "((double)*puVar10 * ram0x0017c6b0)" ( (binary_expression "(double)*puVar10 * ram0x0017c6b0" (cast_expression "(double)*puVar10" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*puVar10" * identifier)) * identifier) )) / (cast_expression "(double)(long)local_98" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ))) ;) (if_statement "if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }" { (expression_statement "local_e0 = (double)uVar16;" (assignment_expression "local_e0 = (double)uVar16" identifier = (cast_expression "(double)uVar16" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" identifier = number_literal) ;) (do_statement "do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);" do (compound_statement "{\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            }" { (expression_statement "uVar18 = uVar18 + puVar10[uVar16] * uVar16;" (assignment_expression "uVar18 = uVar18 + puVar10[uVar16] * uVar16" identifier = (binary_expression "uVar18 + puVar10[uVar16] * uVar16" identifier + (binary_expression "puVar10[uVar16] * uVar16" (subscript_expression "puVar10[uVar16]" identifier [ identifier ]) * identifier))) ;) (expression_statement "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);" (call_expression "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16)" identifier (argument_list "("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16)" ( (string_literal ""%7lu  %-10lu (%5.1f%%)    %5.1f%%\n"" " string_content escape_sequence ") , (binary_expression "((double)puVar10[uVar16] * dVar3) / (double)(long)local_98" (parenthesized_expression "((double)puVar10[uVar16] * dVar3)" ( (binary_expression "(double)puVar10[uVar16] * dVar3" (cast_expression "(double)puVar10[uVar16]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "puVar10[uVar16]" identifier [ identifier ])) * identifier) )) / (cast_expression "(double)(long)local_98" ( (type_descriptor "double" primitive_type) ) (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) , (binary_expression "((double)uVar18 * dVar3) / local_e0" (parenthesized_expression "((double)uVar18 * dVar3)" ( (binary_expression "(double)uVar18 * dVar3" (cast_expression "(double)uVar18" ( (type_descriptor "double" primitive_type) ) identifier) * identifier) )) / identifier) , identifier ))) ;) (expression_statement "bVar23 = uVar21 != uVar16;" (assignment_expression "bVar23 = uVar21 != uVar16" identifier = (binary_expression "uVar21 != uVar16" identifier != identifier)) ;) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) })) }))) (expression_statement "free(puVar10);" (call_expression "free(puVar10)" identifier (argument_list "(puVar10)" ( identifier ))) ;) (expression_statement "free(puVar13);" (call_expression "free(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) ;) (goto_statement "goto LAB_001239c4;" goto statement_identifier ;) })) (labeled_statement "LAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);" statement_identifier : (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" identifier = (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) }) (else_clause "else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" else (compound_statement "{\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" { (if_statement "if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }" if (parenthesized_expression "(DAT_00193470 == 0)" ( (binary_expression "DAT_00193470 == 0" identifier == number_literal) )) (compound_statement "{\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }" { (if_statement "if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }" if (parenthesized_expression "(DAT_00193480 != 0)" ( (binary_expression "DAT_00193480 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }" { (if_statement "if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;" if (parenthesized_expression "((DAT_0019349c == 0) && (DAT_00194690 != 0))" ( (binary_expression "(DAT_0019349c == 0) && (DAT_00194690 != 0)" (parenthesized_expression "(DAT_0019349c == 0)" ( (binary_expression "DAT_0019349c == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_00194690 != 0)" ( (binary_expression "DAT_00194690 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_00124120;" goto statement_identifier ;)) (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" identifier = identifier) ;) (if_statement "if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }" if (parenthesized_expression "(DAT_00193540 == 0)" ( (binary_expression "DAT_00193540 == 0" identifier == number_literal) )) (compound_statement "{\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }" { (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0012359b;" goto statement_identifier ;) })) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_001234e0:\n          DAT_00193540 = local_a0;" statement_identifier : (expression_statement "DAT_00193540 = local_a0;" (assignment_expression "DAT_00193540 = local_a0" identifier = identifier) ;)) (if_statement "if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;" if (parenthesized_expression "((DAT_0019349c == 0) && (DAT_00194690 != 0))" ( (binary_expression "(DAT_0019349c == 0) && (DAT_00194690 != 0)" (parenthesized_expression "(DAT_0019349c == 0)" ( (binary_expression "DAT_0019349c == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_00194690 != 0)" ( (binary_expression "DAT_00194690 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_001231f2;" goto statement_identifier ;)) (goto_statement "goto LAB_001234ff;" goto statement_identifier ;) })) (expression_statement "local_b0 = DAT_00193540;" (assignment_expression "local_b0 = DAT_00193540" identifier = identifier) ;) (if_statement "if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }" if (parenthesized_expression "(DAT_00193540 != 0)" ( (binary_expression "DAT_00193540 != 0" identifier != number_literal) )) (compound_statement "{\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }" { (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001234ff;" goto statement_identifier ;) })) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0012359b:\n        local_70 = 0;" statement_identifier : (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;)) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001235c8;" goto statement_identifier ;) })) (labeled_statement "LAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);" statement_identifier : (expression_statement "sVar1 = *(short *)(param_1 + 0x52);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x52)" identifier = (pointer_expression "*(short *)(param_1 + 0x52)" * (cast_expression "(short *)(param_1 + 0x52)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x52)" ( (binary_expression "param_1 + 0x52" identifier + number_literal) ))))) ;)) (if_statement "if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }" if (parenthesized_expression "((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70))" ( (binary_expression "(sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)" (parenthesized_expression "(sVar1 == -0x6fda || sVar1 == 0x16)" ( (binary_expression "sVar1 == -0x6fda || sVar1 == 0x16" (binary_expression "sVar1 == -0x6fda" identifier == number_literal) || (binary_expression "sVar1 == 0x16" identifier == number_literal)) )) || (parenthesized_expression "(uVar19 = 4, sVar1 == -0x5c70)" ( (comma_expression "uVar19 = 4, sVar1 == -0x5c70" (assignment_expression "uVar19 = 4" identifier = number_literal) , (binary_expression "sVar1 == -0x5c70" identifier == number_literal)) ))) )) (compound_statement "{\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }" { (expression_statement "uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;" (assignment_expression "uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4" identifier = (binary_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4" (binary_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4" (call_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(param_1 + 0x1c) == '\x02')" ( (binary_expression "*(char *)(param_1 + 0x1c) == '\x02'" (pointer_expression "*(char *)(param_1 + 0x1c)" * (cast_expression "(char *)(param_1 + 0x1c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) ))) * number_literal) + number_literal)) ;) })) (expression_statement "lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);" (assignment_expression "lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10)" identifier = (call_expression "FUN_00119da0(param_1,DAT_00193580,0x10)" identifier (argument_list "(param_1,DAT_00193580,0x10)" ( identifier , identifier , number_literal )))) ;) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier = (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" identifier (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" ( (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , (binary_expression "lVar5 + DAT_001946b8" identifier + identifier) , number_literal )))) ;) (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" identifier = (string_literal ""Unable to seek to start of dynamic information\n"" " string_content escape_sequence ")) ;) (if_statement "if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }" { (expression_statement "sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" identifier = (call_expression "fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" identifier (argument_list "(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" ( identifier , (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal , (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }" if (parenthesized_expression "(sVar6 != 1)" ( (binary_expression "sVar6 != 1" identifier != number_literal) )) (compound_statement "{\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }" { (expression_statement "pcVar20 = "Failed to read in number of buckets\n";" (assignment_expression "pcVar20 = "Failed to read in number of buckets\n"" identifier = (string_literal ""Failed to read in number of buckets\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_001241ba;" goto statement_identifier ;) })) (expression_statement "sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" identifier = (call_expression "fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" identifier (argument_list "(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" ( (pointer_expression "&local_48" & identifier) , (cast_expression "(ulong)uVar19" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal , (pointer_expression "*(FILE **)(param_1 + 8)" * (cast_expression "(FILE **)(param_1 + 8)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar20 = "Failed to read in number of chains\n";" (assignment_expression "pcVar20 = "Failed to read in number of chains\n"" identifier = (string_literal ""Failed to read in number of chains\n"" " string_content escape_sequence ")) ;) (if_statement "if (sVar6 != 1) goto LAB_001241ba;" if (parenthesized_expression "(sVar6 != 1)" ( (binary_expression "sVar6 != 1" identifier != number_literal) )) (goto_statement "goto LAB_001241ba;" goto statement_identifier ;)) (expression_statement "local_98 = (*DAT_00196f88)(local_50,uVar19,5);" (assignment_expression "local_98 = (*DAT_00196f88)(local_50,uVar19,5)" identifier = (call_expression "(*DAT_00196f88)(local_50,uVar19,5)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(local_50,uVar19,5)" ( identifier , identifier , number_literal )))) ;) (expression_statement "local_b0 = (*DAT_00196f88)(&local_48,uVar19);" (assignment_expression "local_b0 = (*DAT_00196f88)(&local_48,uVar19)" identifier = (call_expression "(*DAT_00196f88)(&local_48,uVar19)" (parenthesized_expression "(*DAT_00196f88)" ( (pointer_expression "*DAT_00196f88" * identifier) )) (argument_list "(&local_48,uVar19)" ( (pointer_expression "&local_48" & identifier) , identifier )))) ;) (expression_statement "local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );" (assignment_expression "local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" identifier = (cast_expression "(ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" identifier (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" ( (binary_expression "param_1 + 8" identifier + number_literal) , (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) )))) , identifier , identifier ))))) ;) (expression_statement "__ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;" (assignment_expression "__ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" identifier = (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" identifier (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" ( (binary_expression "param_1 + 8" identifier + number_literal) , (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) )))) , identifier , identifier ))))) ;) (if_statement "if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;" if (parenthesized_expression "((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0))" ( (binary_expression "(local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)" (parenthesized_expression "(local_a8 != (ulong *)0x0)" ( (binary_expression "local_a8 != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(__ptr_00 != (void *)0x0)" ( (binary_expression "__ptr_00 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_001234aa;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" else (compound_statement "{\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" { (labeled_statement "LAB_001241ba:\n        __ptr_00 = (void *)0x0;" statement_identifier : (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" identifier = (call_expression "dcgettext(0,pcVar20,5)" identifier (argument_list "(0,pcVar20,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }" if (parenthesized_expression "(DAT_00193480 == 0)" ( (binary_expression "DAT_00193480 == 0" identifier == number_literal) )) (compound_statement "{\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }" { (expression_statement "free(local_a8);" (call_expression "free(local_a8)" identifier (argument_list "(local_a8)" ( identifier ))) ;) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001234aa;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_00124278:\n    uVar8 = 0;" statement_identifier : (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;)) }))) (return_statement "return uVar8;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_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)) ) (pointer_expression & IDENT)) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * LIT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + (binary_expression IDENT * LIT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (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 ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence ") , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (subscript_expression IDENT [ IDENT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * IDENT) )) / (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ IDENT ]) * IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])) * IDENT) )) / (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )) / IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) }))) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (for_statement for ( (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) ))))) ) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) != (char_literal ' escape_sequence ')) ))) )) (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 ))) ;) (break_statement break ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_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 IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }))) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (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) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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) )))) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ^ IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) }) (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 ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) , IDENT , IDENT , IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) })) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence ") , (string_literal " escape_sequence string_content escape_sequence ") , IDENT , 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 ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (subscript_expression IDENT [ IDENT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * IDENT) )) / (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ IDENT ]) * IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ IDENT ])) * IDENT) )) / (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * IDENT) )) / IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (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 ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) * LIT) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT + IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (return_statement return IDENT ;) })))
(function_definition "undefined8 FUN_00123170(long param_1)\n\n{\n  short sVar1;\n  uint uVar2;\n  double dVar3;\n  int iVar4;\n  long lVar5;\n  size_t sVar6;\n  long lVar7;\n  undefined8 uVar8;\n  void *pvVar9;\n  ulong *puVar10;\n  ulong *puVar11;\n  long *__ptr;\n  ulong uVar12;\n  ulong *puVar13;\n  long *plVar14;\n  undefined8 uVar15;\n  void *__ptr_00;\n  ulong uVar16;\n  ulong uVar17;\n  ulong uVar18;\n  uint uVar19;\n  char *pcVar20;\n  ulong uVar21;\n  byte bVar22;\n  bool bVar23;\n  void *local_f0;\n  double local_e0;\n  void *local_c0;\n  size_t local_b0;\n  ulong *local_a8;\n  size_t local_a0;\n  size_t local_98;\n  void *local_80;\n  size_t local_78;\n  ulong local_70;\n  void *local_68;\n  ushort local_52;\n  int local_50 [2];\n  undefined8 local_48;\n  undefined1 local_40 [16];\n  \n  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }\n  return uVar8;\n}" (type_identifier "undefined8") (function_declarator "FUN_00123170(long param_1)" (identifier "FUN_00123170") (parameter_list "(long param_1)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) () ")"))) (compound_statement "{\n  short sVar1;\n  uint uVar2;\n  double dVar3;\n  int iVar4;\n  long lVar5;\n  size_t sVar6;\n  long lVar7;\n  undefined8 uVar8;\n  void *pvVar9;\n  ulong *puVar10;\n  ulong *puVar11;\n  long *__ptr;\n  ulong uVar12;\n  ulong *puVar13;\n  long *plVar14;\n  undefined8 uVar15;\n  void *__ptr_00;\n  ulong uVar16;\n  ulong uVar17;\n  ulong uVar18;\n  uint uVar19;\n  char *pcVar20;\n  ulong uVar21;\n  byte bVar22;\n  bool bVar23;\n  void *local_f0;\n  double local_e0;\n  void *local_c0;\n  size_t local_b0;\n  ulong *local_a8;\n  size_t local_a0;\n  size_t local_98;\n  void *local_80;\n  size_t local_78;\n  ulong local_70;\n  void *local_68;\n  ushort local_52;\n  int local_50 [2];\n  undefined8 local_48;\n  undefined1 local_40 [16];\n  \n  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }\n  return uVar8;\n}" ({ "{") (declaration "short sVar1;" (sized_type_specifier "short" (short "short")) (identifier "sVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "double dVar3;" (primitive_type "double") (identifier "dVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "size_t sVar6;" (primitive_type "size_t") (identifier "sVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "void *pvVar9;" (primitive_type "void") (pointer_declarator "*pvVar9" (* "*") (identifier "pvVar9")) (; ";")) (declaration "ulong *puVar10;" (type_identifier "ulong") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "ulong *puVar11;" (type_identifier "ulong") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "long *__ptr;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "ulong uVar12;" (type_identifier "ulong") (identifier "uVar12") (; ";")) (declaration "ulong *puVar13;" (type_identifier "ulong") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "long *plVar14;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar14" (* "*") (identifier "plVar14")) (; ";")) (declaration "undefined8 uVar15;" (type_identifier "undefined8") (identifier "uVar15") (; ";")) (declaration "void *__ptr_00;" (primitive_type "void") (pointer_declarator "*__ptr_00" (* "*") (identifier "__ptr_00")) (; ";")) (declaration "ulong uVar16;" (type_identifier "ulong") (identifier "uVar16") (; ";")) (declaration "ulong uVar17;" (type_identifier "ulong") (identifier "uVar17") (; ";")) (declaration "ulong uVar18;" (type_identifier "ulong") (identifier "uVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "char *pcVar20;" (primitive_type "char") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "ulong uVar21;" (type_identifier "ulong") (identifier "uVar21") (; ";")) (declaration "byte bVar22;" (type_identifier "byte") (identifier "bVar22") (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "void *local_f0;" (primitive_type "void") (pointer_declarator "*local_f0" (* "*") (identifier "local_f0")) (; ";")) (declaration "double local_e0;" (primitive_type "double") (identifier "local_e0") (; ";")) (declaration "void *local_c0;" (primitive_type "void") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0")) (; ";")) (declaration "size_t local_b0;" (primitive_type "size_t") (identifier "local_b0") (; ";")) (declaration "ulong *local_a8;" (type_identifier "ulong") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "size_t local_a0;" (primitive_type "size_t") (identifier "local_a0") (; ";")) (declaration "size_t local_98;" (primitive_type "size_t") (identifier "local_98") (; ";")) (declaration "void *local_80;" (primitive_type "void") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "size_t local_78;" (primitive_type "size_t") (identifier "local_78") (; ";")) (declaration "ulong local_70;" (type_identifier "ulong") (identifier "local_70") (; ";")) (declaration "void *local_68;" (primitive_type "void") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "ushort local_52;" (type_identifier "ushort") (identifier "local_52") (; ";")) (declaration "int local_50 [2];" (primitive_type "int") (array_declarator "local_50 [2]" (identifier "local_50") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "undefined1 local_40 [16];" (type_identifier "undefined1") (array_declarator "local_40 [16]" (identifier "local_40") ([ "[") (number_literal "16") (] "]")) (; ";")) (if_statement "if (DAT_0019349c == 0 && DAT_001934a0 == 0) {\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }\n  else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" (if "if") (parenthesized_expression "(DAT_0019349c == 0 && DAT_001934a0 == 0)" (( "(") (binary_expression "DAT_0019349c == 0 && DAT_001934a0 == 0" (binary_expression "DAT_0019349c == 0" (identifier "DAT_0019349c") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_001934a0 == 0" (identifier "DAT_001934a0") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n    if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }\n    uVar8 = 1;\n  }" ({ "{") (if_statement "if (DAT_00193470 != 0) {\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00193470 != 0)" (( "(") (binary_expression "DAT_00193470 != 0" (identifier "DAT_00193470") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_98 = DAT_00193580;\n      if (DAT_00193580 != 0) goto LAB_00124120;\n      local_b0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }\n      __ptr_00 = (void *)0x0;\n      local_b0 = 0;\n      local_a8 = (ulong *)0x0;\n      local_a0 = DAT_00193540;\nLAB_001231f2:\n      DAT_00193540 = local_a0;\n      lVar5 = FUN_00119da0(param_1,local_a0,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }\n      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;\nLAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;\n      if (DAT_001934a0 == 0) goto LAB_00123620;\n      if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }\nLAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);\n      printf(pcVar20);\n      if (DAT_00193470 != 0) goto LAB_0012362e;\nLAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }\n    }" ({ "{") (expression_statement "local_98 = DAT_00193580;" (assignment_expression "local_98 = DAT_00193580" (identifier "local_98") (= "=") (identifier "DAT_00193580")) (; ";")) (if_statement "if (DAT_00193580 != 0) goto LAB_00124120;" (if "if") (parenthesized_expression "(DAT_00193580 != 0)" (( "(") (binary_expression "DAT_00193580 != 0" (identifier "DAT_00193580") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00124120;" (goto "goto") (statement_identifier "LAB_00124120") (; ";"))) (expression_statement "local_b0 = DAT_00193540;" (assignment_expression "local_b0 = DAT_00193540" (identifier "local_b0") (= "=") (identifier "DAT_00193540")) (; ";")) (if_statement "if (DAT_00193540 == 0) {\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }" (if "if") (parenthesized_expression "(DAT_00193540 == 0)" (( "(") (binary_expression "DAT_00193540 == 0" (identifier "DAT_00193540") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_98 = DAT_00193540;\n        __ptr_00 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_00123920;\n      }" ({ "{") (expression_statement "local_98 = DAT_00193540;" (assignment_expression "local_98 = DAT_00193540" (identifier "local_98") (= "=") (identifier "DAT_00193540")) (; ";")) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" (identifier "__ptr_00") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" (identifier "local_a8") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_00123920;" (goto "goto") (statement_identifier "LAB_00123920") (; ";")) (} "}"))) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" (identifier "__ptr_00") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" (identifier "local_a8") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" (identifier "local_a0") (= "=") (identifier "DAT_00193540")) (; ";")) (labeled_statement "LAB_001231f2:\n      DAT_00193540 = local_a0;" (statement_identifier "LAB_001231f2") (: ":") (expression_statement "DAT_00193540 = local_a0;" (assignment_expression "DAT_00193540 = local_a0" (identifier "DAT_00193540") (= "=") (identifier "local_a0")) (; ";"))) (expression_statement "lVar5 = FUN_00119da0(param_1,local_a0,0x10);" (assignment_expression "lVar5 = FUN_00119da0(param_1,local_a0,0x10)" (identifier "lVar5") (= "=") (call_expression "FUN_00119da0(param_1,local_a0,0x10)" (identifier "FUN_00119da0") (argument_list "(param_1,local_a0,0x10)" (( "(") (identifier "param_1") (, ",") (identifier "local_a0") (, ",") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (identifier "iVar4") (= "=") (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (identifier "fseek") (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (( "(") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (binary_expression "lVar5 + DAT_001946b8" (identifier "lVar5") (+ "+") (identifier "DAT_001946b8")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" (identifier "pcVar20") (= "=") (string_literal ""Unable to seek to start of dynamic information\n"" (" """) (string_content "Unable to seek to start of dynamic information") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (iVar4 == 0) {\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }\n      else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }\n        local_78 = (*DAT_00196f88)(&local_48,4);\n        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);\n        lVar5 = (*DAT_00196f88)(local_40,4);\n        if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }\n        lVar5 = DAT_00193540 + 0x10 + lVar5;\n        lVar7 = FUN_00119da0(param_1,lVar5,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }\n        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        if (local_78 == 0) goto LAB_001243c5;\n        uVar16 = 0xffffffff;\n        local_a0 = 0;\n        do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);\n        if (uVar16 == 0xffffffff) goto LAB_0012478c;\n        local_78 = uVar16 - local_70;\n        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);\n        if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }\n        do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);\n        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);\n        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n        if (iVar4 != 0) goto LAB_001248c8;\n        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);\n        if (local_68 == (void *)0x0) goto LAB_001243c5;\n      }" ({ "{") (expression_statement "sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8))" (identifier "sVar6") (= "=") (call_expression "fread(&local_48,0x10,1,*(FILE **)(param_1 + 8))" (identifier "fread") (argument_list "(&local_48,0x10,1,*(FILE **)(param_1 + 8))" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (number_literal "0x10") (, ",") (number_literal "1") (, ",") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }" (if "if") (parenthesized_expression "(sVar6 != 1)" (( "(") (binary_expression "sVar6 != 1" (identifier "sVar6") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_00124393;\n        }" ({ "{") (expression_statement "pcVar20 = "Failed to read in number of buckets\n";" (assignment_expression "pcVar20 = "Failed to read in number of buckets\n"" (identifier "pcVar20") (= "=") (string_literal ""Failed to read in number of buckets\n"" (" """) (string_content "Failed to read in number of buckets") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00124393;" (goto "goto") (statement_identifier "LAB_00124393") (; ";")) (} "}"))) (expression_statement "local_78 = (*DAT_00196f88)(&local_48,4);" (assignment_expression "local_78 = (*DAT_00196f88)(&local_48,4)" (identifier "local_78") (= "=") (call_expression "(*DAT_00196f88)(&local_48,4)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(&local_48,4)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);" (assignment_expression "local_70 = (*DAT_00196f88)((long)&local_48 + 4,4)" (identifier "local_70") (= "=") (call_expression "(*DAT_00196f88)((long)&local_48 + 4,4)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "((long)&local_48 + 4,4)" (( "(") (binary_expression "(long)&local_48 + 4" (cast_expression "(long)&local_48" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&local_48" (& "&") (identifier "local_48"))) (+ "+") (number_literal "4")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "lVar5 = (*DAT_00196f88)(local_40,4);" (assignment_expression "lVar5 = (*DAT_00196f88)(local_40,4)" (identifier "lVar5") (= "=") (call_expression "(*DAT_00196f88)(local_40,4)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(local_40,4)" (( "(") (identifier "local_40") (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (DAT_0019345c == 0) {\n          lVar5 = lVar5 * 8;\n        }\n        else {\n          lVar5 = lVar5 * 4;\n        }" (if "if") (parenthesized_expression "(DAT_0019345c == 0)" (( "(") (binary_expression "DAT_0019345c == 0" (identifier "DAT_0019345c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          lVar5 = lVar5 * 8;\n        }" ({ "{") (expression_statement "lVar5 = lVar5 * 8;" (assignment_expression "lVar5 = lVar5 * 8" (identifier "lVar5") (= "=") (binary_expression "lVar5 * 8" (identifier "lVar5") (* "*") (number_literal "8"))) (; ";")) (} "}")) (else_clause "else {\n          lVar5 = lVar5 * 4;\n        }" (else "else") (compound_statement "{\n          lVar5 = lVar5 * 4;\n        }" ({ "{") (expression_statement "lVar5 = lVar5 * 4;" (assignment_expression "lVar5 = lVar5 * 4" (identifier "lVar5") (= "=") (binary_expression "lVar5 * 4" (identifier "lVar5") (* "*") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "lVar5 = DAT_00193540 + 0x10 + lVar5;" (assignment_expression "lVar5 = DAT_00193540 + 0x10 + lVar5" (identifier "lVar5") (= "=") (binary_expression "DAT_00193540 + 0x10 + lVar5" (binary_expression "DAT_00193540 + 0x10" (identifier "DAT_00193540") (+ "+") (number_literal "0x10")) (+ "+") (identifier "lVar5"))) (; ";")) (expression_statement "lVar7 = FUN_00119da0(param_1,lVar5,4);" (assignment_expression "lVar7 = FUN_00119da0(param_1,lVar5,4)" (identifier "lVar7") (= "=") (call_expression "FUN_00119da0(param_1,lVar5,4)" (identifier "FUN_00119da0") (argument_list "(param_1,lVar5,4)" (( "(") (identifier "param_1") (, ",") (identifier "lVar5") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" (identifier "iVar4") (= "=") (call_expression "fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" (identifier "fseek") (argument_list "(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" (( "(") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (binary_expression "lVar7 + DAT_001946b8" (identifier "lVar7") (+ "+") (identifier "DAT_001946b8")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);\n          error(uVar8);\n          local_78 = 0;\n          local_80 = (void *)0x0;\n          goto LAB_001243c5;\n        }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Unable to seek to start of dynamic information\n",5)" (identifier "dcgettext") (argument_list "(0,"Unable to seek to start of dynamic information\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unable to seek to start of dynamic information\n"" (" """) (string_content "Unable to seek to start of dynamic information") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" (identifier "error") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" (identifier "local_80") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_001243c5;" (goto "goto") (statement_identifier "LAB_001243c5") (; ";")) (} "}"))) (expression_statement "local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);" (assignment_expression "local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" (identifier "local_80") (= "=") (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" (identifier "FUN_00121f00") (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (, ",") (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")) () ")")))) (, ",") (identifier "local_78") (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (local_80 == (void *)0x0) {\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" (if "if") (parenthesized_expression "(local_80 == (void *)0x0)" (( "(") (binary_expression "local_80 == (void *)0x0" (identifier "local_80") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0012478c:\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" ({ "{") (labeled_statement "LAB_0012478c:\n          local_78 = 0;" (statement_identifier "LAB_0012478c") (: ":") (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";"))) (goto_statement "goto LAB_001243c5;" (goto "goto") (statement_identifier "LAB_001243c5") (; ";")) (} "}"))) (if_statement "if (local_78 == 0) goto LAB_001243c5;" (if "if") (parenthesized_expression "(local_78 == 0)" (( "(") (binary_expression "local_78 == 0" (identifier "local_78") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001243c5;" (goto "goto") (statement_identifier "LAB_001243c5") (; ";"))) (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" (identifier "uVar16") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        } while (local_78 != local_a0);" (do "do") (compound_statement "{\n          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);\n          if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }\n          local_a0 = local_a0 + 1;\n        }" ({ "{") (expression_statement "uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);" (assignment_expression "uVar21 = *(ulong *)((long)local_80 + local_a0 * 8)" (identifier "uVar21") (= "=") (pointer_expression "*(ulong *)((long)local_80 + local_a0 * 8)" (* "*") (cast_expression "(ulong *)((long)local_80 + local_a0 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_80 + local_a0 * 8)" (( "(") (binary_expression "(long)local_80 + local_a0 * 8" (cast_expression "(long)local_80" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_80")) (+ "+") (binary_expression "local_a0 * 8" (identifier "local_a0") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (uVar21 != 0) {\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }" (if "if") (parenthesized_expression "(uVar21 != 0)" (( "(") (binary_expression "uVar21 != 0" (identifier "uVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if (uVar21 < local_70) goto LAB_00124278;\n            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }\n          }" ({ "{") (if_statement "if (uVar21 < local_70) goto LAB_00124278;" (if "if") (parenthesized_expression "(uVar21 < local_70)" (( "(") (binary_expression "uVar21 < local_70" (identifier "uVar21") (< "<") (identifier "local_70")) () ")")) (goto_statement "goto LAB_00124278;" (goto "goto") (statement_identifier "LAB_00124278") (; ";"))) (if_statement "if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {\n              uVar16 = uVar21;\n            }" (if "if") (parenthesized_expression "((uVar16 < uVar21) || (uVar16 == 0xffffffff))" (( "(") (binary_expression "(uVar16 < uVar21) || (uVar16 == 0xffffffff)" (parenthesized_expression "(uVar16 < uVar21)" (( "(") (binary_expression "uVar16 < uVar21" (identifier "uVar16") (< "<") (identifier "uVar21")) () ")")) (|| "||") (parenthesized_expression "(uVar16 == 0xffffffff)" (( "(") (binary_expression "uVar16 == 0xffffffff" (identifier "uVar16") (== "==") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\n              uVar16 = uVar21;\n            }" ({ "{") (expression_statement "uVar16 = uVar21;" (assignment_expression "uVar16 = uVar21" (identifier "uVar16") (= "=") (identifier "uVar21")) (; ";")) (} "}"))) (} "}"))) (expression_statement "local_a0 = local_a0 + 1;" (assignment_expression "local_a0 = local_a0 + 1" (identifier "local_a0") (= "=") (binary_expression "local_a0 + 1" (identifier "local_a0") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_78 != local_a0)" (( "(") (binary_expression "local_78 != local_a0" (identifier "local_78") (!= "!=") (identifier "local_a0")) () ")")) (; ";")) (if_statement "if (uVar16 == 0xffffffff) goto LAB_0012478c;" (if "if") (parenthesized_expression "(uVar16 == 0xffffffff)" (( "(") (binary_expression "uVar16 == 0xffffffff" (identifier "uVar16") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_0012478c;" (goto "goto") (statement_identifier "LAB_0012478c") (; ";"))) (expression_statement "local_78 = uVar16 - local_70;" (assignment_expression "local_78 = uVar16 - local_70" (identifier "local_78") (= "=") (binary_expression "uVar16 - local_70" (identifier "uVar16") (- "-") (identifier "local_70"))) (; ";")) (expression_statement "lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);" (assignment_expression "lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4)" (identifier "lVar7") (= "=") (call_expression "FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4)" (identifier "FUN_00119da0") (argument_list "(param_1,lVar5 + (local_a0 + local_78) * 4,4)" (( "(") (identifier "param_1") (, ",") (binary_expression "lVar5 + (local_a0 + local_78) * 4" (identifier "lVar5") (+ "+") (binary_expression "(local_a0 + local_78) * 4" (parenthesized_expression "(local_a0 + local_78)" (( "(") (binary_expression "local_a0 + local_78" (identifier "local_a0") (+ "+") (identifier "local_78")) () ")")) (* "*") (number_literal "4"))) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" (identifier "iVar4") (= "=") (call_expression "fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" (identifier "fseek") (argument_list "(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0)" (( "(") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (binary_expression "lVar7 + DAT_001946b8" (identifier "lVar7") (+ "+") (identifier "DAT_001946b8")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";\nLAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);\n          error(uVar8);\n          local_78 = 0;\n          goto LAB_001243c5;\n        }" ({ "{") (labeled_statement "LAB_001248c8:\n          pcVar20 = "Unable to seek to start of dynamic information\n";" (statement_identifier "LAB_001248c8") (: ":") (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" (identifier "pcVar20") (= "=") (string_literal ""Unable to seek to start of dynamic information\n"" (" """) (string_content "Unable to seek to start of dynamic information") (escape_sequence "\n") (" """))) (; ";"))) (labeled_statement "LAB_0012340c:\n          uVar8 = dcgettext(0,pcVar20,5);" (statement_identifier "LAB_0012340c") (: ":") (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,pcVar20,5)" (identifier "dcgettext") (argument_list "(0,pcVar20,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar20") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" (identifier "error") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_001243c5;" (goto "goto") (statement_identifier "LAB_001243c5") (; ";")) (} "}"))) (do_statement "do {\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        } while ((uVar16 & 1) == 0);" (do "do") (compound_statement "{\n          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));\n          if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }\n          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;\n          local_78 = local_78 + 1;\n          uVar16 = (*DAT_00196f88)(&local_48,4);\n        }" ({ "{") (expression_statement "sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8))" (identifier "sVar6") (= "=") (call_expression "fread(&local_48,4,1,*(FILE **)(param_1 + 8))" (identifier "fread") (argument_list "(&local_48,4,1,*(FILE **)(param_1 + 8))" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (number_literal "4") (, ",") (number_literal "1") (, ",") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar6 != 1) {\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }" (if "if") (parenthesized_expression "(sVar6 != 1)" (( "(") (binary_expression "sVar6 != 1" (identifier "sVar6") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n            pcVar20 = "Failed to determine last chain length\n";\n            goto LAB_0012340c;\n          }" ({ "{") (expression_statement "pcVar20 = "Failed to determine last chain length\n";" (assignment_expression "pcVar20 = "Failed to determine last chain length\n"" (identifier "pcVar20") (= "=") (string_literal ""Failed to determine last chain length\n"" (" """) (string_content "Failed to determine last chain length") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_0012340c;" (goto "goto") (statement_identifier "LAB_0012340c") (; ";")) (} "}"))) (if_statement "if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;" (if "if") (parenthesized_expression "(local_78 == 0xffffffffffffffff)" (( "(") (binary_expression "local_78 == 0xffffffffffffffff" (identifier "local_78") (== "==") (number_literal "0xffffffffffffffff")) () ")")) (goto_statement "goto LAB_0012478c;" (goto "goto") (statement_identifier "LAB_0012478c") (; ";"))) (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" (identifier "local_78") (= "=") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar16 = (*DAT_00196f88)(&local_48,4);" (assignment_expression "uVar16 = (*DAT_00196f88)(&local_48,4)" (identifier "uVar16") (= "=") (call_expression "(*DAT_00196f88)(&local_48,4)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(&local_48,4)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (number_literal "4") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uVar16 & 1) == 0)" (( "(") (binary_expression "(uVar16 & 1) == 0" (parenthesized_expression "(uVar16 & 1)" (( "(") (binary_expression "uVar16 & 1" (identifier "uVar16") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);" (assignment_expression "lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4)" (identifier "lVar5") (= "=") (call_expression "FUN_00119da0(param_1,lVar5 + local_a0 * 4,4)" (identifier "FUN_00119da0") (argument_list "(param_1,lVar5 + local_a0 * 4,4)" (( "(") (identifier "param_1") (, ",") (binary_expression "lVar5 + local_a0 * 4" (identifier "lVar5") (+ "+") (binary_expression "local_a0 * 4" (identifier "local_a0") (* "*") (number_literal "4"))) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (identifier "iVar4") (= "=") (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (identifier "fseek") (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (( "(") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (binary_expression "lVar5 + DAT_001946b8" (identifier "lVar5") (+ "+") (identifier "DAT_001946b8")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) goto LAB_001248c8;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001248c8;" (goto "goto") (statement_identifier "LAB_001248c8") (; ";"))) (expression_statement "local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);" (assignment_expression "local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" (identifier "local_68") (= "=") (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" (identifier "FUN_00121f00") (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (, ",") (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")) () ")")))) (, ",") (identifier "local_78") (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (local_68 == (void *)0x0) goto LAB_001243c5;" (if "if") (parenthesized_expression "(local_68 == (void *)0x0)" (( "(") (binary_expression "local_68 == (void *)0x0" (identifier "local_68") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001243c5;" (goto "goto") (statement_identifier "LAB_001243c5") (; ";"))) (} "}")) (else_clause "else {\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" (else "else") (compound_statement "{\nLAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_78 = 0;\n        local_70 = 0;\n        local_80 = (void *)0x0;\nLAB_001243c5:\n        free(local_80);\n        if (DAT_00193480 != 0) goto LAB_00124278;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a0 = 0;\n      }" ({ "{") (labeled_statement "LAB_00124393:\n        uVar8 = dcgettext(0,pcVar20,5);" (statement_identifier "LAB_00124393") (: ":") (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,pcVar20,5)" (identifier "dcgettext") (argument_list "(0,pcVar20,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar20") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" (identifier "error") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" (identifier "local_80") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_001243c5:\n        free(local_80);" (statement_identifier "LAB_001243c5") (: ":") (expression_statement "free(local_80);" (call_expression "free(local_80)" (identifier "free") (argument_list "(local_80)" (( "(") (identifier "local_80") () ")"))) (; ";"))) (if_statement "if (DAT_00193480 != 0) goto LAB_00124278;" (if "if") (parenthesized_expression "(DAT_00193480 != 0)" (( "(") (binary_expression "DAT_00193480 != 0" (identifier "DAT_00193480") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00124278;" (goto "goto") (statement_identifier "LAB_00124278") (; ";"))) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" (identifier "local_68") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" (identifier "local_80") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;" (if "if") (parenthesized_expression "(DAT_00193580 != 0 || DAT_00193540 != 0)" (( "(") (binary_expression "DAT_00193580 != 0 || DAT_00193540 != 0" (binary_expression "DAT_00193580 != 0" (identifier "DAT_00193580") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_00193540 != 0" (identifier "DAT_00193540") (!= "!=") (number_literal "0"))) () ")")) (goto_statement "goto LAB_001235c8;" (goto "goto") (statement_identifier "LAB_001235c8") (; ";"))) (labeled_statement "LAB_0012395b:\n      if (DAT_0019349c != 0) goto LAB_00123c50;" (statement_identifier "LAB_0012395b") (: ":") (if_statement "if (DAT_0019349c != 0) goto LAB_00123c50;" (if "if") (parenthesized_expression "(DAT_0019349c != 0)" (( "(") (binary_expression "DAT_0019349c != 0" (identifier "DAT_0019349c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123c50;" (goto "goto") (statement_identifier "LAB_00123c50") (; ";")))) (if_statement "if (DAT_001934a0 == 0) goto LAB_00123620;" (if "if") (parenthesized_expression "(DAT_001934a0 == 0)" (( "(") (binary_expression "DAT_001934a0 == 0" (identifier "DAT_001934a0") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123620;" (goto "goto") (statement_identifier "LAB_00123620") (; ";"))) (if_statement "if (DAT_00193480 == 0) {\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }" (if "if") (parenthesized_expression "(DAT_00193480 == 0)" (( "(") (binary_expression "DAT_00193480 == 0" (identifier "DAT_00193480") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);\n        if (lVar5 != 0) goto LAB_00123c5d;\n      }" ({ "{") (labeled_statement "LAB_001242fe:\n        lVar5 = *(long *)(param_1 + 0x70);" (statement_identifier "LAB_001242fe") (: ":") (expression_statement "lVar5 = *(long *)(param_1 + 0x70);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x70)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(param_1 + 0x70)" (* "*") (cast_expression "(long *)(param_1 + 0x70)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")"))))) (; ";"))) (if_statement "if (lVar5 != 0) goto LAB_00123c5d;" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123c5d;" (goto "goto") (statement_identifier "LAB_00123c5d") (; ";"))) (} "}"))) (labeled_statement "LAB_00123987:\n      pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);" (statement_identifier "LAB_00123987") (: ":") (expression_statement "pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" (identifier "dcgettext") (argument_list "(0,\n                                  "\nDynamic symbol information is not available for displaying symbols.\n"\n                                  ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nDynamic symbol information is not available for displaying symbols.\n"" (" """) (escape_sequence "\n") (string_content "Dynamic symbol information is not available for displaying symbols.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" (identifier "printf") (argument_list "(pcVar20)" (( "(") (identifier "pcVar20") () ")"))) (; ";")) (if_statement "if (DAT_00193470 != 0) goto LAB_0012362e;" (if "if") (parenthesized_expression "(DAT_00193470 != 0)" (( "(") (binary_expression "DAT_00193470 != 0" (identifier "DAT_00193470") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0012362e;" (goto "goto") (statement_identifier "LAB_0012362e") (; ";"))) (labeled_statement "LAB_001239b8:\n      if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" (statement_identifier "LAB_001239b8") (: ":") (if_statement "if (local_a8 != (ulong *)0x0) {\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" (if "if") (parenthesized_expression "(local_a8 != (ulong *)0x0)" (( "(") (binary_expression "local_a8 != (ulong *)0x0" (identifier "local_a8") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001239c4:\n        iVar4 = DAT_00193470;\n        free(local_a8);\n        free(__ptr_00);\nLAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }\n      }" ({ "{") (labeled_statement "LAB_001239c4:\n        iVar4 = DAT_00193470;" (statement_identifier "LAB_001239c4") (: ":") (expression_statement "iVar4 = DAT_00193470;" (assignment_expression "iVar4 = DAT_00193470" (identifier "iVar4") (= "=") (identifier "DAT_00193470")) (; ";"))) (expression_statement "free(local_a8);" (call_expression "free(local_a8)" (identifier "free") (argument_list "(local_a8)" (( "(") (identifier "local_a8") () ")"))) (; ";")) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" (identifier "free") (argument_list "(__ptr_00)" (( "(") (identifier "__ptr_00") () ")"))) (; ";")) (labeled_statement "LAB_001239d6:\n        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" (statement_identifier "LAB_001239d6") (: ":") (if_statement "if ((iVar4 != 0) && (local_80 != (void *)0x0)) {\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" (if "if") (parenthesized_expression "((iVar4 != 0) && (local_80 != (void *)0x0))" (( "(") (binary_expression "(iVar4 != 0) && (local_80 != (void *)0x0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_80 != (void *)0x0)" (( "(") (binary_expression "local_80 != (void *)0x0" (identifier "local_80") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n          pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);\n          printf(pcVar20,local_a0);\n          __ptr = (long *)calloc(local_a0,8);\n          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";\n          if (__ptr == (long *)0x0) goto LAB_00124267;\n          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n          printf(pcVar20);\n          if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }\n          free(puVar13);\n          free(__ptr);\n          free(local_80);\n          free(local_68);\n        }" ({ "{") (expression_statement "pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcngettext(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" (identifier "dcngettext") (argument_list "(0,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"\n                                       ,\n                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"\n                                       ,local_a0,5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"" (" """) (escape_sequence "\n") (string_content "Histogram for `.gnu.hash") (escape_sequence "\'") (string_content " bucket list length (total of %lu bucket):") (escape_sequence "\n") (" """)) (, ",") (string_literal ""\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"" (" """) (escape_sequence "\n") (string_content "Histogram for `.gnu.hash") (escape_sequence "\'") (string_content " bucket list length (total of %lu buckets):") (escape_sequence "\n") (" """)) (, ",") (identifier "local_a0") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20,local_a0);" (call_expression "printf(pcVar20,local_a0)" (identifier "printf") (argument_list "(pcVar20,local_a0)" (( "(") (identifier "pcVar20") (, ",") (identifier "local_a0") () ")"))) (; ";")) (expression_statement "__ptr = (long *)calloc(local_a0,8);" (assignment_expression "__ptr = (long *)calloc(local_a0,8)" (identifier "__ptr") (= "=") (cast_expression "(long *)calloc(local_a0,8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(local_a0,8)" (identifier "calloc") (argument_list "(local_a0,8)" (( "(") (identifier "local_a0") (, ",") (number_literal "8") () ")"))))) (; ";")) (expression_statement "pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for gnu histogram buckets\n"" (identifier "pcVar20") (= "=") (string_literal ""Out of memory allocating space for gnu histogram buckets\n"" (" """) (string_content "Out of memory allocating space for gnu histogram buckets") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (__ptr == (long *)0x0) goto LAB_00124267;" (if "if") (parenthesized_expression "(__ptr == (long *)0x0)" (( "(") (binary_expression "__ptr == (long *)0x0" (identifier "__ptr") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00124267;" (goto "goto") (statement_identifier "LAB_00124267") (; ";"))) (expression_statement "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," Length  Number     %% of total  Coverage\n",5)" (identifier "dcgettext") (argument_list "(0," Length  Number     %% of total  Coverage\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" Length  Number     %% of total  Coverage\n"" (" """) (string_content " Length  Number     %% of total  Coverage") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" (identifier "printf") (argument_list "(pcVar20)" (( "(") (identifier "pcVar20") () ")"))) (; ";")) (if_statement "if (local_a0 == 0) {\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }\n          else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" (if "if") (parenthesized_expression "(local_a0 == 0)" (( "(") (binary_expression "local_a0 == 0" (identifier "local_a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar13 = (ulong *)calloc(1,8);\n            if (puVar13 == (ulong *)0x0) goto LAB_00124253;\n          }" ({ "{") (expression_statement "puVar13 = (ulong *)calloc(1,8);" (assignment_expression "puVar13 = (ulong *)calloc(1,8)" (identifier "puVar13") (= "=") (cast_expression "(ulong *)calloc(1,8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(1,8)" (identifier "calloc") (argument_list "(1,8)" (( "(") (number_literal "1") (, ",") (number_literal "8") () ")"))))) (; ";")) (if_statement "if (puVar13 == (ulong *)0x0) goto LAB_00124253;" (if "if") (parenthesized_expression "(puVar13 == (ulong *)0x0)" (( "(") (binary_expression "puVar13 == (ulong *)0x0" (identifier "puVar13") (== "==") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00124253;" (goto "goto") (statement_identifier "LAB_00124253") (; ";"))) (} "}")) (else_clause "else {\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" (else "else") (compound_statement "{\n            uVar21 = 0;\n            uVar16 = 0;\n            sVar6 = 0;\n            do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\nLAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);\n            if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }\n            plVar14 = __ptr;\n            do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);\n            printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);\n            if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }\n          }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" (identifier "sVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);" (do "do") (compound_statement "{\n              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }\n              sVar6 = sVar6 + 1;\n            }" ({ "{") (while_statement "while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }" (while "while") (parenthesized_expression "(lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0)" (( "(") (comma_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0" (assignment_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)((long)local_80 + sVar6 * 8)" (* "*") (cast_expression "(long *)((long)local_80 + sVar6 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_80 + sVar6 * 8)" (( "(") (binary_expression "(long)local_80 + sVar6 * 8" (cast_expression "(long)local_80" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_80")) (+ "+") (binary_expression "sVar6 * 8" (identifier "sVar6") (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n                if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }\n                uVar21 = uVar21 + uVar12;\n                sVar6 = sVar6 + 1;\n                if (sVar6 == local_a0) goto LAB_00123afb;\n              }" ({ "{") (if_statement "if (lVar5 - local_70 < local_78) {\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }\n                else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" (if "if") (parenthesized_expression "(lVar5 - local_70 < local_78)" (( "(") (binary_expression "lVar5 - local_70 < local_78" (binary_expression "lVar5 - local_70" (identifier "lVar5") (- "-") (identifier "local_70")) (< "<") (identifier "local_78")) () ")")) (compound_statement "{\n                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);\n                  uVar17 = *puVar13;\n                  uVar18 = (ulong)((uint)uVar17 & 1);\n                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;\n                  uVar18 = (local_70 - lVar5) + local_78 + 1;\n                  uVar17 = 1;\n                  do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);\n                  __ptr[sVar6] = uVar12;\n                  if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }\n                }" ({ "{") (expression_statement "puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);" (assignment_expression "puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8)" (identifier "puVar13") (= "=") (cast_expression "(ulong *)((long)local_68 + (lVar5 - local_70) * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_68 + (lVar5 - local_70) * 8)" (( "(") (binary_expression "(long)local_68 + (lVar5 - local_70) * 8" (cast_expression "(long)local_68" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_68")) (+ "+") (binary_expression "(lVar5 - local_70) * 8" (parenthesized_expression "(lVar5 - local_70)" (( "(") (binary_expression "lVar5 - local_70" (identifier "lVar5") (- "-") (identifier "local_70")) () ")")) (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "uVar17 = *puVar13;" (assignment_expression "uVar17 = *puVar13" (identifier "uVar17") (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";")) (expression_statement "uVar18 = (ulong)((uint)uVar17 & 1);" (assignment_expression "uVar18 = (ulong)((uint)uVar17 & 1)" (identifier "uVar18") (= "=") (call_expression "(ulong)((uint)uVar17 & 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)uVar17 & 1)" (( "(") (binary_expression "(uint)uVar17 & 1" (cast_expression "(uint)uVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar17")) (& "&") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((uVar17 & 1) != 0) goto LAB_00123ae4;" (if "if") (parenthesized_expression "((uVar17 & 1) != 0)" (( "(") (binary_expression "(uVar17 & 1) != 0" (parenthesized_expression "(uVar17 & 1)" (( "(") (binary_expression "uVar17 & 1" (identifier "uVar17") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123ae4;" (goto "goto") (statement_identifier "LAB_00123ae4") (; ";"))) (expression_statement "uVar18 = (local_70 - lVar5) + local_78 + 1;" (assignment_expression "uVar18 = (local_70 - lVar5) + local_78 + 1" (identifier "uVar18") (= "=") (binary_expression "(local_70 - lVar5) + local_78 + 1" (binary_expression "(local_70 - lVar5) + local_78" (parenthesized_expression "(local_70 - lVar5)" (( "(") (binary_expression "local_70 - lVar5" (identifier "local_70") (- "-") (identifier "lVar5")) () ")")) (+ "+") (identifier "local_78")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  } while ((*puVar10 & 1) == 0);" (do "do") (compound_statement "{\n                    uVar12 = uVar17 + 1;\n                    if (uVar12 == uVar18) goto LAB_00123ae4;\n                    puVar10 = puVar13 + uVar17;\n                    uVar17 = uVar12;\n                  }" ({ "{") (expression_statement "uVar12 = uVar17 + 1;" (assignment_expression "uVar12 = uVar17 + 1" (identifier "uVar12") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar12 == uVar18) goto LAB_00123ae4;" (if "if") (parenthesized_expression "(uVar12 == uVar18)" (( "(") (binary_expression "uVar12 == uVar18" (identifier "uVar12") (== "==") (identifier "uVar18")) () ")")) (goto_statement "goto LAB_00123ae4;" (goto "goto") (statement_identifier "LAB_00123ae4") (; ";"))) (expression_statement "puVar10 = puVar13 + uVar17;" (assignment_expression "puVar10 = puVar13 + uVar17" (identifier "puVar10") (= "=") (binary_expression "puVar13 + uVar17" (identifier "puVar13") (+ "+") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar12;" (assignment_expression "uVar17 = uVar12" (identifier "uVar17") (= "=") (identifier "uVar12")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((*puVar10 & 1) == 0)" (( "(") (binary_expression "(*puVar10 & 1) == 0" (parenthesized_expression "(*puVar10 & 1)" (( "(") (binary_expression "*puVar10 & 1" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "__ptr[sVar6] = uVar12;" (assignment_expression "__ptr[sVar6] = uVar12" (subscript_expression "__ptr[sVar6]" (identifier "__ptr") ([ "[") (identifier "sVar6") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (uVar16 < uVar12) {\n                    uVar16 = uVar12;\n                  }" (if "if") (parenthesized_expression "(uVar16 < uVar12)" (( "(") (binary_expression "uVar16 < uVar12" (identifier "uVar16") (< "<") (identifier "uVar12")) () ")")) (compound_statement "{\n                    uVar16 = uVar12;\n                  }" ({ "{") (expression_statement "uVar16 = uVar12;" (assignment_expression "uVar16 = uVar12" (identifier "uVar16") (= "=") (identifier "uVar12")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" (else "else") (compound_statement "{\n                  uVar18 = 1;\nLAB_00123ae4:\n                  __ptr[sVar6] = uVar18;\n                  uVar12 = uVar18;\n                  if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }\n                }" ({ "{") (expression_statement "uVar18 = 1;" (assignment_expression "uVar18 = 1" (identifier "uVar18") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00123ae4:\n                  __ptr[sVar6] = uVar18;" (statement_identifier "LAB_00123ae4") (: ":") (expression_statement "__ptr[sVar6] = uVar18;" (assignment_expression "__ptr[sVar6] = uVar18" (subscript_expression "__ptr[sVar6]" (identifier "__ptr") ([ "[") (identifier "sVar6") (] "]")) (= "=") (identifier "uVar18")) (; ";"))) (expression_statement "uVar12 = uVar18;" (assignment_expression "uVar12 = uVar18" (identifier "uVar12") (= "=") (identifier "uVar18")) (; ";")) (if_statement "if (uVar16 < uVar18) {\n                    uVar16 = uVar18;\n                  }" (if "if") (parenthesized_expression "(uVar16 < uVar18)" (( "(") (binary_expression "uVar16 < uVar18" (identifier "uVar16") (< "<") (identifier "uVar18")) () ")")) (compound_statement "{\n                    uVar16 = uVar18;\n                  }" ({ "{") (expression_statement "uVar16 = uVar18;" (assignment_expression "uVar16 = uVar18" (identifier "uVar16") (= "=") (identifier "uVar18")) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar21 = uVar21 + uVar12;" (assignment_expression "uVar21 = uVar21 + uVar12" (identifier "uVar21") (= "=") (binary_expression "uVar21 + uVar12" (identifier "uVar21") (+ "+") (identifier "uVar12"))) (; ";")) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" (identifier "sVar6") (= "=") (binary_expression "sVar6 + 1" (identifier "sVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (sVar6 == local_a0) goto LAB_00123afb;" (if "if") (parenthesized_expression "(sVar6 == local_a0)" (( "(") (binary_expression "sVar6 == local_a0" (identifier "sVar6") (== "==") (identifier "local_a0")) () ")")) (goto_statement "goto LAB_00123afb;" (goto "goto") (statement_identifier "LAB_00123afb") (; ";"))) (} "}"))) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" (identifier "sVar6") (= "=") (binary_expression "sVar6 + 1" (identifier "sVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(sVar6 != local_a0)" (( "(") (binary_expression "sVar6 != local_a0" (identifier "sVar6") (!= "!=") (identifier "local_a0")) () ")")) (; ";")) (labeled_statement "LAB_00123afb:\n            puVar13 = (ulong *)calloc(uVar16 + 1,8);" (statement_identifier "LAB_00123afb") (: ":") (expression_statement "puVar13 = (ulong *)calloc(uVar16 + 1,8);" (assignment_expression "puVar13 = (ulong *)calloc(uVar16 + 1,8)" (identifier "puVar13") (= "=") (cast_expression "(ulong *)calloc(uVar16 + 1,8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(uVar16 + 1,8)" (identifier "calloc") (argument_list "(uVar16 + 1,8)" (( "(") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1")) (, ",") (number_literal "8") () ")"))))) (; ";"))) (if_statement "if (puVar13 == (ulong *)0x0) {\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }" (if "if") (parenthesized_expression "(puVar13 == (ulong *)0x0)" (( "(") (binary_expression "puVar13 == (ulong *)0x0" (identifier "puVar13") (== "==") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00124253:\n              free(__ptr);\n              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";\n              goto LAB_00124267;\n            }" ({ "{") (labeled_statement "LAB_00124253:\n              free(__ptr);" (statement_identifier "LAB_00124253") (: ":") (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";"))) (expression_statement "pcVar20 = "Out of memory allocating space for gnu histogram counts\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for gnu histogram counts\n"" (identifier "pcVar20") (= "=") (string_literal ""Out of memory allocating space for gnu histogram counts\n"" (" """) (string_content "Out of memory allocating space for gnu histogram counts") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00124267;" (goto "goto") (statement_identifier "LAB_00124267") (; ";")) (} "}"))) (expression_statement "plVar14 = __ptr;" (assignment_expression "plVar14 = __ptr" (identifier "plVar14") (= "=") (identifier "__ptr")) (; ";")) (do_statement "do {\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            } while (__ptr + local_a0 != plVar14);" (do "do") (compound_statement "{\n              lVar5 = *plVar14;\n              plVar14 = plVar14 + 1;\n              puVar13[lVar5] = puVar13[lVar5] + 1;\n              dVar3 = ram0x0017c6b0;\n            }" ({ "{") (expression_statement "lVar5 = *plVar14;" (assignment_expression "lVar5 = *plVar14" (identifier "lVar5") (= "=") (pointer_expression "*plVar14" (* "*") (identifier "plVar14"))) (; ";")) (expression_statement "plVar14 = plVar14 + 1;" (assignment_expression "plVar14 = plVar14 + 1" (identifier "plVar14") (= "=") (binary_expression "plVar14 + 1" (identifier "plVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar13[lVar5] = puVar13[lVar5] + 1;" (assignment_expression "puVar13[lVar5] = puVar13[lVar5] + 1" (subscript_expression "puVar13[lVar5]" (identifier "puVar13") ([ "[") (identifier "lVar5") (] "]")) (= "=") (binary_expression "puVar13[lVar5] + 1" (subscript_expression "puVar13[lVar5]" (identifier "puVar13") ([ "[") (identifier "lVar5") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "dVar3 = ram0x0017c6b0;" (assignment_expression "dVar3 = ram0x0017c6b0" (identifier "dVar3") (= "=") (identifier "ram0x0017c6b0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(__ptr + local_a0 != plVar14)" (( "(") (binary_expression "__ptr + local_a0 != plVar14" (binary_expression "__ptr + local_a0" (identifier "__ptr") (+ "+") (identifier "local_a0")) (!= "!=") (identifier "plVar14")) () ")")) (; ";")) (expression_statement "printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);" (call_expression "printf("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0)" (identifier "printf") (argument_list "("      0  %-10lu (%5.1f%%)\n",\n                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0)" (( "(") (string_literal ""      0  %-10lu (%5.1f%%)\n"" (" """) (string_content "      0  %-10lu (%5.1f%%)") (escape_sequence "\n") (" """)) (, ",") (binary_expression "((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0" (parenthesized_expression "((double)*puVar13 * ram0x0017c6b0)" (( "(") (binary_expression "(double)*puVar13 * ram0x0017c6b0" (cast_expression "(double)*puVar13" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (* "*") (identifier "ram0x0017c6b0")) () ")")) (/ "/") (cast_expression "(double)(long)local_a0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)local_a0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_a0")))) () ")"))) (; ";")) (if_statement "if (uVar16 != 0) {\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }" (if "if") (parenthesized_expression "(uVar16 != 0)" (( "(") (binary_expression "uVar16 != 0" (identifier "uVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_e0 = (double)uVar21;\n              uVar18 = 0;\n              uVar21 = 1;\n              do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);\n            }" ({ "{") (expression_statement "local_e0 = (double)uVar21;" (assignment_expression "local_e0 = (double)uVar21" (identifier "local_e0") (= "=") (cast_expression "(double)uVar21" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar21"))) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 1;" (assignment_expression "uVar21 = 1" (identifier "uVar21") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              } while (bVar23);" (do "do") (compound_statement "{\n                uVar18 = uVar18 + puVar13[uVar21] * uVar21;\n                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);\n                bVar23 = uVar16 != uVar21;\n                uVar21 = uVar21 + 1;\n              }" ({ "{") (expression_statement "uVar18 = uVar18 + puVar13[uVar21] * uVar21;" (assignment_expression "uVar18 = uVar18 + puVar13[uVar21] * uVar21" (identifier "uVar18") (= "=") (binary_expression "uVar18 + puVar13[uVar21] * uVar21" (identifier "uVar18") (+ "+") (binary_expression "puVar13[uVar21] * uVar21" (subscript_expression "puVar13[uVar21]" (identifier "puVar13") ([ "[") (identifier "uVar21") (] "]")) (* "*") (identifier "uVar21")))) (; ";")) (expression_statement "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21);" (call_expression "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21)" (identifier "printf") (argument_list "("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,\n                       ((double)uVar18 * dVar3) / local_e0,uVar21)" (( "(") (string_literal ""%7lu  %-10lu (%5.1f%%)    %5.1f%%\n"" (" """) (string_content "%7lu  %-10lu (%5.1f%%)    %5.1f%%") (escape_sequence "\n") (" """)) (, ",") (binary_expression "((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0" (parenthesized_expression "((double)puVar13[uVar21] * dVar3)" (( "(") (binary_expression "(double)puVar13[uVar21] * dVar3" (cast_expression "(double)puVar13[uVar21]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "puVar13[uVar21]" (identifier "puVar13") ([ "[") (identifier "uVar21") (] "]"))) (* "*") (identifier "dVar3")) () ")")) (/ "/") (cast_expression "(double)(long)local_a0" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)local_a0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_a0")))) (, ",") (binary_expression "((double)uVar18 * dVar3) / local_e0" (parenthesized_expression "((double)uVar18 * dVar3)" (( "(") (binary_expression "(double)uVar18 * dVar3" (cast_expression "(double)uVar18" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar18")) (* "*") (identifier "dVar3")) () ")")) (/ "/") (identifier "local_e0")) (, ",") (identifier "uVar21") () ")"))) (; ";")) (expression_statement "bVar23 = uVar16 != uVar21;" (assignment_expression "bVar23 = uVar16 != uVar21" (identifier "bVar23") (= "=") (binary_expression "uVar16 != uVar21" (identifier "uVar16") (!= "!=") (identifier "uVar21"))) (; ";")) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (} "}"))) (} "}")))) (expression_statement "free(puVar13);" (call_expression "free(puVar13)" (identifier "free") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "free(local_80);" (call_expression "free(local_80)" (identifier "free") (argument_list "(local_80)" (( "(") (identifier "local_80") () ")"))) (; ";")) (expression_statement "free(local_68);" (call_expression "free(local_68)" (identifier "free") (argument_list "(local_68)" (( "(") (identifier "local_68") () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}"))) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" (else "else") (compound_statement "{\n    local_98 = DAT_00193580;\n    if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }\nLAB_00124278:\n    uVar8 = 0;\n  }" ({ "{") (expression_statement "local_98 = DAT_00193580;" (assignment_expression "local_98 = DAT_00193580" (identifier "local_98") (= "=") (identifier "DAT_00193580")) (; ";")) (if_statement "if (DAT_00193580 == 0) {\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }\n    else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" (if "if") (parenthesized_expression "(DAT_00193580 == 0)" (( "(") (binary_expression "DAT_00193580 == 0" (identifier "DAT_00193580") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_b0 = 0;\n      __ptr_00 = (void *)0x0;\n      local_a8 = (ulong *)0x0;\nLAB_001234aa:\n      local_a0 = DAT_00193540;\n      if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }\nLAB_001234ff:\n      local_78 = 0;\n      local_70 = 0;\n      local_68 = (void *)0x0;\n      local_80 = (void *)0x0;\n      local_a0 = 0;\nLAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;\n      if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }\n      if (DAT_0019349c == 0) goto LAB_001242fe;\nLAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);\n      if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }\nLAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;\nLAB_0012362e:\n      iVar4 = DAT_00193470;\n      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;\n      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);\n      printf(pcVar20,local_98);\n      puVar13 = (ulong *)calloc(local_98,8);\n      pcVar20 = "Out of memory allocating space for histogram buckets\n";\n      if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }\nLAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);\n      error(uVar8);\n    }" ({ "{") (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" (identifier "__ptr_00") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" (identifier "local_a8") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_001234aa:\n      local_a0 = DAT_00193540;" (statement_identifier "LAB_001234aa") (: ":") (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" (identifier "local_a0") (= "=") (identifier "DAT_00193540")) (; ";"))) (if_statement "if (DAT_00193540 == 0) {\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }\n      else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" (if "if") (parenthesized_expression "(DAT_00193540 == 0)" (( "(") (binary_expression "DAT_00193540 == 0" (identifier "DAT_00193540") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }\n      }" ({ "{") (labeled_statement "LAB_00123920:\n        if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" (statement_identifier "LAB_00123920") (: ":") (if_statement "if (DAT_00193580 == 0) {\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" (if "if") (parenthesized_expression "(DAT_00193580 == 0)" (( "(") (binary_expression "DAT_00193580 == 0" (identifier "DAT_00193580") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_78 = 0;\n          local_70 = 0;\n          local_68 = (void *)0x0;\n          local_80 = (void *)0x0;\n          local_a0 = 0;\n          goto LAB_0012395b;\n        }" ({ "{") (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" (identifier "local_68") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" (identifier "local_80") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0012395b;" (goto "goto") (statement_identifier "LAB_0012395b") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" (else "else") (compound_statement "{\n        if (DAT_00193470 != 0) goto LAB_001231f2;\n        if (DAT_00193480 != 0) goto LAB_001234e0;\n      }" ({ "{") (if_statement "if (DAT_00193470 != 0) goto LAB_001231f2;" (if "if") (parenthesized_expression "(DAT_00193470 != 0)" (( "(") (binary_expression "DAT_00193470 != 0" (identifier "DAT_00193470") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001231f2;" (goto "goto") (statement_identifier "LAB_001231f2") (; ";"))) (if_statement "if (DAT_00193480 != 0) goto LAB_001234e0;" (if "if") (parenthesized_expression "(DAT_00193480 != 0)" (( "(") (binary_expression "DAT_00193480 != 0" (identifier "DAT_00193480") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001234e0;" (goto "goto") (statement_identifier "LAB_001234e0") (; ";"))) (} "}")))) (labeled_statement "LAB_001234ff:\n      local_78 = 0;" (statement_identifier "LAB_001234ff") (: ":") (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" (identifier "local_68") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" (identifier "local_80") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_001235c8:\n      if (DAT_001934a0 == 0) goto LAB_0012395b;" (statement_identifier "LAB_001235c8") (: ":") (if_statement "if (DAT_001934a0 == 0) goto LAB_0012395b;" (if "if") (parenthesized_expression "(DAT_001934a0 == 0)" (( "(") (binary_expression "DAT_001934a0 == 0" (identifier "DAT_001934a0") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0012395b;" (goto "goto") (statement_identifier "LAB_0012395b") (; ";")))) (if_statement "if (DAT_00193480 != 0) {\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }" (if "if") (parenthesized_expression "(DAT_00193480 != 0)" (( "(") (binary_expression "DAT_00193480 != 0" (identifier "DAT_00193480") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }\n        if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }\n        if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }\n        goto LAB_00123620;\n      }" ({ "{") (if_statement "if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }" (if "if") (parenthesized_expression "((DAT_00194690 == 0) || (DAT_00194678 == 0))" (( "(") (binary_expression "(DAT_00194690 == 0) || (DAT_00194678 == 0)" (parenthesized_expression "(DAT_00194690 == 0)" (( "(") (binary_expression "DAT_00194690 == 0" (identifier "DAT_00194690") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_00194678 == 0)" (( "(") (binary_expression "DAT_00194678 == 0" (identifier "DAT_00194678") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if (DAT_0019349c != 0) goto LAB_00123c50;\n          goto LAB_00123987;\n        }" ({ "{") (if_statement "if (DAT_0019349c != 0) goto LAB_00123c50;" (if "if") (parenthesized_expression "(DAT_0019349c != 0)" (( "(") (binary_expression "DAT_0019349c != 0" (identifier "DAT_0019349c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123c50;" (goto "goto") (statement_identifier "LAB_00123c50") (; ";"))) (goto_statement "goto LAB_00123987;" (goto "goto") (statement_identifier "LAB_00123987") (; ";")) (} "}"))) (if_statement "if (DAT_00193580 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }" (if "if") (parenthesized_expression "(DAT_00193580 != 0)" (( "(") (binary_expression "DAT_00193580 != 0" (identifier "DAT_00193580") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          pvVar9 = (void *)FUN_0014c850(local_b0);\n          sVar6 = 0;\n          memset(pvVar9,0,local_b0);\n          if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }\n          free(pvVar9);\n        }" ({ "{") (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0,"\nSymbol table for image:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"\nSymbol table for image:\n",5)" (identifier "dcgettext") (argument_list "(0,"\nSymbol table for image:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nSymbol table for image:\n"" (" """) (escape_sequence "\n") (string_content "Symbol table for image:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" (identifier "printf") (argument_list "(pcVar20)" (( "(") (identifier "pcVar20") () ")"))) (; ";")) (expression_statement "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" (identifier "pcVar20") (= "=") (string_literal ""  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" (" """) (string_content "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" (if "if") (parenthesized_expression "(DAT_0019345c == 0)" (( "(") (binary_expression "DAT_0019345c == 0" (identifier "DAT_0019345c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" ({ "{") (expression_statement "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" (identifier "pcVar20") (= "=") (string_literal ""  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" (" """) (string_content "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name") (escape_sequence "\n") (" """))) (; ";")) (} "}"))) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0,pcVar20,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar20,5)" (identifier "dcgettext") (argument_list "(0,pcVar20,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar20") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" (identifier "printf") (argument_list "(pcVar20)" (( "(") (identifier "pcVar20") () ")"))) (; ";")) (expression_statement "pvVar9 = (void *)FUN_0014c850(local_b0);" (assignment_expression "pvVar9 = (void *)FUN_0014c850(local_b0)" (identifier "pvVar9") (= "=") (cast_expression "(void *)FUN_0014c850(local_b0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0014c850(local_b0)" (identifier "FUN_0014c850") (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")"))))) (; ";")) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" (identifier "sVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "memset(pvVar9,0,local_b0);" (call_expression "memset(pvVar9,0,local_b0)" (identifier "memset") (argument_list "(pvVar9,0,local_b0)" (( "(") (identifier "pvVar9") (, ",") (number_literal "0") (, ",") (identifier "local_b0") () ")"))) (; ";")) (if_statement "if (local_98 != 0) {\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }" (if "if") (parenthesized_expression "(local_98 != 0)" (( "(") (binary_expression "local_98 != 0" (identifier "local_98") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);\n          }" ({ "{") (do_statement "do {\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            } while (local_98 != sVar6);" (do "do") (compound_statement "{\n              for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }\n              sVar6 = sVar6 + 1;\n            }" ({ "{") (for_statement "for (uVar16 = local_a8[sVar6]; uVar16 != 0;\n                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }" (for "for") (( "(") (assignment_expression "uVar16 = local_a8[sVar6]" (identifier "uVar16") (= "=") (subscript_expression "local_a8[sVar6]" (identifier "local_a8") ([ "[") (identifier "sVar6") (] "]"))) (; ";") (binary_expression "uVar16 != 0" (identifier "uVar16") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)" (identifier "uVar16") (= "=") (pointer_expression "*(ulong *)((long)__ptr_00 + uVar16 * 8)" (* "*") (cast_expression "(ulong *)((long)__ptr_00 + uVar16 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__ptr_00 + uVar16 * 8)" (( "(") (binary_expression "(long)__ptr_00 + uVar16 * 8" (cast_expression "(long)__ptr_00" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar16 * 8" (identifier "uVar16") (* "*") (number_literal "8"))) () ")"))))) () ")") (compound_statement "{\n                FUN_00122f40(param_1,uVar16,sVar6);\n                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }\n                *(char *)((long)pvVar9 + uVar16) = '\x01';\n              }" ({ "{") (expression_statement "FUN_00122f40(param_1,uVar16,sVar6);" (call_expression "FUN_00122f40(param_1,uVar16,sVar6)" (identifier "FUN_00122f40") (argument_list "(param_1,uVar16,sVar6)" (( "(") (identifier "param_1") (, ",") (identifier "uVar16") (, ",") (identifier "sVar6") () ")"))) (; ";")) (if_statement "if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }" (if "if") (parenthesized_expression "((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0'))" (( "(") (binary_expression "(local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')" (parenthesized_expression "(local_b0 <= uVar16)" (( "(") (binary_expression "local_b0 <= uVar16" (identifier "local_b0") (<= "<=") (identifier "uVar16")) () ")")) (|| "||") (parenthesized_expression "(*(char *)((long)pvVar9 + uVar16) != '\0')" (( "(") (binary_expression "*(char *)((long)pvVar9 + uVar16) != '\0'" (pointer_expression "*(char *)((long)pvVar9 + uVar16)" (* "*") (cast_expression "(char *)((long)pvVar9 + uVar16)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar9 + uVar16)" (( "(") (binary_expression "(long)pvVar9 + uVar16" (cast_expression "(long)pvVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar9")) (+ "+") (identifier "uVar16")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  break;\n                }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);" (assignment_expression "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"histogram chain is corrupt\n",5)" (identifier "dcgettext") (argument_list "(0,"histogram chain is corrupt\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""histogram chain is corrupt\n"" (" """) (string_content "histogram chain is corrupt") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" (identifier "error") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "*(char *)((long)pvVar9 + uVar16) = '\x01';" (assignment_expression "*(char *)((long)pvVar9 + uVar16) = '\x01'" (pointer_expression "*(char *)((long)pvVar9 + uVar16)" (* "*") (cast_expression "(char *)((long)pvVar9 + uVar16)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar9 + uVar16)" (( "(") (binary_expression "(long)pvVar9 + uVar16" (cast_expression "(long)pvVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar9")) (+ "+") (identifier "uVar16")) () ")")))) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}"))) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" (identifier "sVar6") (= "=") (binary_expression "sVar6 + 1" (identifier "sVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_98 != sVar6)" (( "(") (binary_expression "local_98 != sVar6" (identifier "local_98") (!= "!=") (identifier "sVar6")) () ")")) (; ";")) (} "}"))) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" (identifier "free") (argument_list "(pvVar9)" (( "(") (identifier "pvVar9") () ")"))) (; ";")) (} "}"))) (if_statement "if (DAT_00193540 != 0) {\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }" (if "if") (parenthesized_expression "(DAT_00193540 != 0)" (( "(") (binary_expression "DAT_00193540 != 0" (identifier "DAT_00193540") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);\n          printf(pcVar20);\n          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";\n          if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }\n          sVar6 = 0;\n          pcVar20 = (char *)dcgettext(0,pcVar20,5);\n          printf(pcVar20);\n          if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }\n        }" ({ "{") (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" (identifier "dcgettext") (argument_list "(0,"\nSymbol table of `.gnu.hash\' for image:\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nSymbol table of `.gnu.hash\' for image:\n"" (" """) (escape_sequence "\n") (string_content "Symbol table of `.gnu.hash") (escape_sequence "\'") (string_content " for image:") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" (identifier "printf") (argument_list "(pcVar20)" (( "(") (identifier "pcVar20") () ")"))) (; ";")) (expression_statement "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" (identifier "pcVar20") (= "=") (string_literal ""  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"" (" """) (string_content "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (DAT_0019345c == 0) {\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" (if "if") (parenthesized_expression "(DAT_0019345c == 0)" (( "(") (binary_expression "DAT_0019345c == 0" (identifier "DAT_0019345c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";\n          }" ({ "{") (expression_statement "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" (identifier "pcVar20") (= "=") (string_literal ""  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"" (" """) (string_content "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name") (escape_sequence "\n") (" """))) (; ";")) (} "}"))) (expression_statement "sVar6 = 0;" (assignment_expression "sVar6 = 0" (identifier "sVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0,pcVar20,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar20,5)" (identifier "dcgettext") (argument_list "(0,pcVar20,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar20") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" (identifier "printf") (argument_list "(pcVar20)" (( "(") (identifier "pcVar20") () ")"))) (; ";")) (if_statement "if (local_a0 != 0) {\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }" (if "if") (parenthesized_expression "(local_a0 != 0)" (( "(") (binary_expression "local_a0 != 0" (identifier "local_a0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);\n          }" ({ "{") (do_statement "do {\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            } while (sVar6 != local_a0);" (do "do") (compound_statement "{\n              lVar5 = *(long *)((long)local_80 + sVar6 * 8);\n              if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }\n              sVar6 = sVar6 + 1;\n            }" ({ "{") (expression_statement "lVar5 = *(long *)((long)local_80 + sVar6 * 8);" (assignment_expression "lVar5 = *(long *)((long)local_80 + sVar6 * 8)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)((long)local_80 + sVar6 * 8)" (* "*") (cast_expression "(long *)((long)local_80 + sVar6 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_80 + sVar6 * 8)" (( "(") (binary_expression "(long)local_80 + sVar6 * 8" (cast_expression "(long)local_80" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_80")) (+ "+") (binary_expression "sVar6 * 8" (identifier "sVar6") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (lVar5 != 0) {\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar16 = lVar5 - local_70;\n                do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);\n              }" ({ "{") (expression_statement "uVar16 = lVar5 - local_70;" (assignment_expression "uVar16 = lVar5 - local_70" (identifier "uVar16") (= "=") (binary_expression "lVar5 - local_70" (identifier "lVar5") (- "-") (identifier "local_70"))) (; ";")) (do_statement "do {\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);" (do "do") (compound_statement "{\n                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);\n                  if (local_78 <= uVar16) break;\n                  uVar16 = uVar16 + 1;\n                }" ({ "{") (expression_statement "FUN_00122f40(param_1,uVar16 + local_70,sVar6);" (call_expression "FUN_00122f40(param_1,uVar16 + local_70,sVar6)" (identifier "FUN_00122f40") (argument_list "(param_1,uVar16 + local_70,sVar6)" (( "(") (identifier "param_1") (, ",") (binary_expression "uVar16 + local_70" (identifier "uVar16") (+ "+") (identifier "local_70")) (, ",") (identifier "sVar6") () ")"))) (; ";")) (if_statement "if (local_78 <= uVar16) break;" (if "if") (parenthesized_expression "(local_78 <= uVar16)" (( "(") (binary_expression "local_78 <= uVar16" (identifier "local_78") (<= "<=") (identifier "uVar16")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0)" (( "(") (binary_expression "(*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0" (parenthesized_expression "(*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1)" (( "(") (binary_expression "*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1" (pointer_expression "*(byte *)((long)local_68 + uVar16 * 8 + -8)" (* "*") (cast_expression "(byte *)((long)local_68 + uVar16 * 8 + -8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_68 + uVar16 * 8 + -8)" (( "(") (binary_expression "(long)local_68 + uVar16 * 8 + -8" (binary_expression "(long)local_68 + uVar16 * 8" (cast_expression "(long)local_68" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_68")) (+ "+") (binary_expression "uVar16 * 8" (identifier "uVar16") (* "*") (number_literal "8"))) (+ "+") (number_literal "-8")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "sVar6 = sVar6 + 1;" (assignment_expression "sVar6 = sVar6 + 1" (identifier "sVar6") (= "=") (binary_expression "sVar6 + 1" (identifier "sVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(sVar6 != local_a0)" (( "(") (binary_expression "sVar6 != local_a0" (identifier "sVar6") (!= "!=") (identifier "local_a0")) () ")")) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00123620;" (goto "goto") (statement_identifier "LAB_00123620") (; ";")) (} "}"))) (if_statement "if (DAT_0019349c == 0) goto LAB_001242fe;" (if "if") (parenthesized_expression "(DAT_0019349c == 0)" (( "(") (binary_expression "DAT_0019349c == 0" (identifier "DAT_0019349c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001242fe;" (goto "goto") (statement_identifier "LAB_001242fe") (; ";"))) (labeled_statement "LAB_00123c50:\n      lVar5 = *(long *)(param_1 + 0x70);" (statement_identifier "LAB_00123c50") (: ":") (expression_statement "lVar5 = *(long *)(param_1 + 0x70);" (assignment_expression "lVar5 = *(long *)(param_1 + 0x70)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(param_1 + 0x70)" (* "*") (cast_expression "(long *)(param_1 + 0x70)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")"))))) (; ";"))) (if_statement "if (lVar5 == 0) {\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }\n      else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" (if "if") (parenthesized_expression "(lVar5 == 0)" (( "(") (binary_expression "lVar5 == 0" (identifier "lVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (DAT_001934a0 != 0) goto LAB_00123987;\n      }" ({ "{") (if_statement "if (DAT_001934a0 != 0) goto LAB_00123987;" (if "if") (parenthesized_expression "(DAT_001934a0 != 0)" (( "(") (binary_expression "DAT_001934a0 != 0" (identifier "DAT_001934a0") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00123987;" (goto "goto") (statement_identifier "LAB_00123987") (; ";"))) (} "}")) (else_clause "else {\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" (else "else") (compound_statement "{\nLAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }\n      }" ({ "{") (labeled_statement "LAB_00123c5d:\n        if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" (statement_identifier "LAB_00123c5d") (: ":") (if_statement "if (*(int *)(param_1 + 100) != 0) {\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 100) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 100) != 0" (pointer_expression "*(int *)(param_1 + 100)" (* "*") (cast_expression "(int *)(param_1 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar19 = 0;\n          do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));\n        }" ({ "{") (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          } while (uVar19 < *(uint *)(param_1 + 100));" (do "do") (compound_statement "{\n            iVar4 = *(int *)(lVar5 + 4);\n            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }\n            uVar19 = uVar19 + 1;\n            lVar5 = lVar5 + 0x50;\n          }" ({ "{") (expression_statement "iVar4 = *(int *)(lVar5 + 4);" (assignment_expression "iVar4 = *(int *)(lVar5 + 4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(lVar5 + 4)" (* "*") (cast_expression "(int *)(lVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 4)" (( "(") (binary_expression "lVar5 + 4" (identifier "lVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2))))" (( "(") (binary_expression "((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))" (parenthesized_expression "((iVar4 == 2) || (iVar4 == 0xb))" (( "(") (binary_expression "(iVar4 == 2) || (iVar4 == 0xb)" (parenthesized_expression "(iVar4 == 2)" (( "(") (binary_expression "iVar4 == 2" (identifier "iVar4") (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(iVar4 == 0xb)" (( "(") (binary_expression "iVar4 == 0xb" (identifier "iVar4") (== "==") (number_literal "0xb")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_001934a0 != 0 || (iVar4 != 2)))" (( "(") (parenthesized_expression "(DAT_001934a0 != 0 || (iVar4 != 2))" (( "(") (binary_expression "DAT_001934a0 != 0 || (iVar4 != 2)" (binary_expression "DAT_001934a0 != 0" (identifier "DAT_001934a0") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar4 != 2)" (( "(") (binary_expression "iVar4 != 2" (identifier "iVar4") (!= "!=") (number_literal "2")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }\n            }" ({ "{") (if_statement "if (*(ulong *)(lVar5 + 0x38) == 0) {\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }\n              else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(*(ulong *)(lVar5 + 0x38) == 0)" (( "(") (binary_expression "*(ulong *)(lVar5 + 0x38) == 0" (pointer_expression "*(ulong *)(lVar5 + 0x38)" (* "*") (cast_expression "(ulong *)(lVar5 + 0x38)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x38)" (( "(") (binary_expression "lVar5 + 0x38" (identifier "lVar5") (+ "+") (number_literal "0x38")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;\n                printf(pcVar20,uVar8);\n              }" ({ "{") (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" (identifier "uVar8") (= "=") (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" (identifier "FUN_00113f30") (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) (, ",") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) (, ",") (identifier "lVar5") () ")")))) (; ";")) (expression_statement "pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)\n                ;" (assignment_expression "pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" (identifier "dcgettext") (argument_list "(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nSymbol table \'%s\' has a sh_entsize of zero!\n"" (" """) (escape_sequence "\n") (string_content "Symbol table ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " has a sh_entsize of zero!") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20,uVar8);" (call_expression "printf(pcVar20,uVar8)" (identifier "printf") (argument_list "(pcVar20,uVar8)" (( "(") (identifier "pcVar20") (, ",") (identifier "uVar8") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);\n                local_48 = uVar16;\n                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);\n                printf(pcVar20,uVar8,uVar16);\n                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";\n                if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }\n                pcVar20 = (char *)dcgettext(0,pcVar20,5);\n                printf(pcVar20);\n                if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }\n                if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }\n              }" ({ "{") (expression_statement "uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);" (assignment_expression "uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38)" (identifier "uVar16") (= "=") (binary_expression "*(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38)" (pointer_expression "*(ulong *)(lVar5 + 0x20)" (* "*") (cast_expression "(ulong *)(lVar5 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x20)" (( "(") (binary_expression "lVar5 + 0x20" (identifier "lVar5") (+ "+") (number_literal "0x20")) () ")")))) (/ "/") (pointer_expression "*(ulong *)(lVar5 + 0x38)" (* "*") (cast_expression "(ulong *)(lVar5 + 0x38)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x38)" (( "(") (binary_expression "lVar5 + 0x38" (identifier "lVar5") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (expression_statement "local_48 = uVar16;" (assignment_expression "local_48 = uVar16" (identifier "local_48") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" (identifier "uVar8") (= "=") (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" (identifier "FUN_00113f30") (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) (, ",") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) (, ",") (identifier "lVar5") () ")")))) (; ";")) (expression_statement "pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" (identifier "dcngettext") (argument_list "(0,"\nSymbol table \'%s\' contains %lu entry:\n",\n                                             "\nSymbol table \'%s\' contains %lu entries:\n",\n                                             local_48,5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nSymbol table \'%s\' contains %lu entry:\n"" (" """) (escape_sequence "\n") (string_content "Symbol table ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " contains %lu entry:") (escape_sequence "\n") (" """)) (, ",") (string_literal ""\nSymbol table \'%s\' contains %lu entries:\n"" (" """) (escape_sequence "\n") (string_content "Symbol table ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " contains %lu entries:") (escape_sequence "\n") (" """)) (, ",") (identifier "local_48") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20,uVar8,uVar16);" (call_expression "printf(pcVar20,uVar8,uVar16)" (identifier "printf") (argument_list "(pcVar20,uVar8,uVar16)" (( "(") (identifier "pcVar20") (, ",") (identifier "uVar8") (, ",") (identifier "uVar16") () ")"))) (; ";")) (expression_statement "pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"" (identifier "pcVar20") (= "=") (string_literal ""   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"" (" """) (string_content "   Num:    Value  Size Type    Bind   Vis      Ndx Name") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (DAT_0019345c == 0) {\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }" (if "if") (parenthesized_expression "(DAT_0019345c == 0)" (( "(") (binary_expression "DAT_0019345c == 0" (identifier "DAT_0019345c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";\n                }" ({ "{") (expression_statement "pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";" (assignment_expression "pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"" (identifier "pcVar20") (= "=") (string_literal ""   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"" (" """) (string_content "   Num:    Value          Size Type    Bind   Vis      Ndx Name") (escape_sequence "\n") (" """))) (; ";")) (} "}"))) (expression_statement "pcVar20 = (char *)dcgettext(0,pcVar20,5);" (assignment_expression "pcVar20 = (char *)dcgettext(0,pcVar20,5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0,pcVar20,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar20,5)" (identifier "dcgettext") (argument_list "(0,pcVar20,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar20") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" (identifier "printf") (argument_list "(pcVar20)" (( "(") (identifier "pcVar20") () ")"))) (; ";")) (if_statement "if (DAT_0019345c == 0) {\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }\n                else {\n                  local_c0 = (void *)FUN_001149b0();\n                }" (if "if") (parenthesized_expression "(DAT_0019345c == 0)" (( "(") (binary_expression "DAT_0019345c == 0" (identifier "DAT_0019345c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);\n                }" ({ "{") (expression_statement "local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);" (assignment_expression "local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48)" (identifier "local_c0") (= "=") (cast_expression "(void *)FUN_00114ea0(param_1,lVar5,&local_48)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00114ea0(param_1,lVar5,&local_48)" (identifier "FUN_00114ea0") (argument_list "(param_1,lVar5,&local_48)" (( "(") (identifier "param_1") (, ",") (identifier "lVar5") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                  local_c0 = (void *)FUN_001149b0();\n                }" (else "else") (compound_statement "{\n                  local_c0 = (void *)FUN_001149b0();\n                }" ({ "{") (expression_statement "local_c0 = (void *)FUN_001149b0();" (assignment_expression "local_c0 = (void *)FUN_001149b0()" (identifier "local_c0") (= "=") (cast_expression "(void *)FUN_001149b0()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001149b0()" (identifier "FUN_001149b0") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (if_statement "if (local_c0 != (void *)0x0) {\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }" (if "if") (parenthesized_expression "(local_c0 != (void *)0x0)" (( "(") (binary_expression "local_c0 != (void *)0x0" (identifier "local_c0") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  uVar2 = *(uint *)(lVar5 + 0x28);\n                  if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }\n                  if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }\n                  free(local_c0);\n                  if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }\n                }" ({ "{") (expression_statement "uVar2 = *(uint *)(lVar5 + 0x28);" (assignment_expression "uVar2 = *(uint *)(lVar5 + 0x28)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(lVar5 + 0x28)" (* "*") (cast_expression "(uint *)(lVar5 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x28)" (( "(") (binary_expression "lVar5 + 0x28" (identifier "lVar5") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (uVar2 == *(uint *)(param_1 + 0x68)) {\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }\n                  else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(uVar2 == *(uint *)(param_1 + 0x68))" (( "(") (binary_expression "uVar2 == *(uint *)(param_1 + 0x68)" (identifier "uVar2") (== "==") (pointer_expression "*(uint *)(param_1 + 0x68)" (* "*") (cast_expression "(uint *)(param_1 + 0x68)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")"))))) () ")")) (compound_statement "{\n                    local_f0 = *(void **)(param_1 + 0x80);\n                    uVar16 = *(ulong *)(param_1 + 0x88);\n                  }" ({ "{") (expression_statement "local_f0 = *(void **)(param_1 + 0x80);" (assignment_expression "local_f0 = *(void **)(param_1 + 0x80)" (identifier "local_f0") (= "=") (pointer_expression "*(void **)(param_1 + 0x80)" (* "*") (cast_expression "(void **)(param_1 + 0x80)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x80)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "uVar16 = *(ulong *)(param_1 + 0x88);" (assignment_expression "uVar16 = *(ulong *)(param_1 + 0x88)" (identifier "uVar16") (= "=") (pointer_expression "*(ulong *)(param_1 + 0x88)" (* "*") (cast_expression "(ulong *)(param_1 + 0x88)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" (else "else") (compound_statement "{\n                    local_f0 = (void *)0x0;\n                    uVar16 = 0;\n                    if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }\n                  }" ({ "{") (expression_statement "local_f0 = (void *)0x0;" (assignment_expression "local_f0 = (void *)0x0" (identifier "local_f0") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar2 < *(uint *)(param_1 + 100)) {\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }" (if "if") (parenthesized_expression "(uVar2 < *(uint *)(param_1 + 100))" (( "(") (binary_expression "uVar2 < *(uint *)(param_1 + 100)" (identifier "uVar2") (< "<") (pointer_expression "*(uint *)(param_1 + 100)" (* "*") (cast_expression "(uint *)(param_1 + 100)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")"))))) () ")")) (compound_statement "{\n                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);\n                      uVar8 = dcgettext(0,"string table",5);\n                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);\n                      if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }\n                    }" ({ "{") (expression_statement "lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);" (assignment_expression "lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70)" (identifier "lVar7") (= "=") (binary_expression "(ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70)" (binary_expression "(ulong)uVar2 * 0x50" (cast_expression "(ulong)uVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar2")) (* "*") (number_literal "0x50")) (+ "+") (pointer_expression "*(long *)(param_1 + 0x70)" (* "*") (cast_expression "(long *)(param_1 + 0x70)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))))) (; ";")) (expression_statement "uVar8 = dcgettext(0,"string table",5);" (assignment_expression "uVar8 = dcgettext(0,"string table",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"string table",5)" (identifier "dcgettext") (argument_list "(0,"string table",5)" (( "(") (number_literal "0") (, ",") (string_literal ""string table"" (" """) (string_content "string table") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);" (assignment_expression "local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" (identifier "local_f0") (= "=") (cast_expression "(void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001144a0(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" (identifier "FUN_001144a0") (argument_list "(0,param_1 + 8,param_1 + 0x10,\n                                                      *(undefined8 *)(lVar7 + 0x18),1,\n                                                      *(undefined8 *)(lVar7 + 0x20),uVar8)" (( "(") (number_literal "0") (, ",") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (, ",") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) (, ",") (pointer_expression "*(undefined8 *)(lVar7 + 0x18)" (* "*") (cast_expression "(undefined8 *)(lVar7 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x18)" (( "(") (binary_expression "lVar7 + 0x18" (identifier "lVar7") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined8 *)(lVar7 + 0x20)" (* "*") (cast_expression "(undefined8 *)(lVar7 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x20)" (( "(") (binary_expression "lVar7 + 0x20" (identifier "lVar7") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "uVar8") () ")"))))) (; ";")) (if_statement "if (local_f0 != (void *)0x0) {\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }" (if "if") (parenthesized_expression "(local_f0 != (void *)0x0)" (( "(") (binary_expression "local_f0 != (void *)0x0" (identifier "local_f0") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                        uVar16 = *(ulong *)(lVar7 + 0x20);\n                      }" ({ "{") (expression_statement "uVar16 = *(ulong *)(lVar7 + 0x20);" (assignment_expression "uVar16 = *(ulong *)(lVar7 + 0x20)" (identifier "uVar16") (= "=") (pointer_expression "*(ulong *)(lVar7 + 0x20)" (* "*") (cast_expression "(ulong *)(lVar7 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x20)" (( "(") (binary_expression "lVar7 + 0x20" (identifier "lVar7") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (if_statement "if (local_48 != 0) {\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }" (if "if") (parenthesized_expression "(local_48 != 0)" (( "(") (binary_expression "local_48 != 0" (identifier "local_48") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar21 = 0;\n                    puVar13 = (ulong *)((long)local_c0 + 0x10);\n                    do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);\n                  }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar13 = (ulong *)((long)local_c0 + 0x10);" (assignment_expression "puVar13 = (ulong *)((long)local_c0 + 0x10)" (identifier "puVar13") (= "=") (cast_expression "(ulong *)((long)local_c0 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_c0 + 0x10)" (( "(") (binary_expression "(long)local_c0 + 0x10" (cast_expression "(long)local_c0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_c0")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (do_statement "do {\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    } while (uVar21 < local_48);" (do "do") (compound_statement "{\n                      printf("%6d: ",uVar21);\n                      FUN_001116b0(puVar13[-2],6);\n                      putc(0x20,stdout);\n                      FUN_001116b0(puVar13[-1],2);\n                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);\n                      printf(" %-7s",uVar8);\n                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);\n                      printf(" %-6s",uVar8);\n                      if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }\n                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));\n                      printf(" %4s ",uVar8);\n                      if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }\n                      FUN_001122a0(0x19,lVar7);\n                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);\n                      if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }\n                      putc(10,stdout);\n                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }\n                      uVar21 = (ulong)((uint)uVar21 + 1);\n                      puVar13 = puVar13 + 4;\n                    }" ({ "{") (expression_statement "printf("%6d: ",uVar21);" (call_expression "printf("%6d: ",uVar21)" (identifier "printf") (argument_list "("%6d: ",uVar21)" (( "(") (string_literal ""%6d: "" (" """) (string_content "%6d: ") (" """)) (, ",") (identifier "uVar21") () ")"))) (; ";")) (expression_statement "FUN_001116b0(puVar13[-2],6);" (call_expression "FUN_001116b0(puVar13[-2],6)" (identifier "FUN_001116b0") (argument_list "(puVar13[-2],6)" (( "(") (subscript_expression "puVar13[-2]" (identifier "puVar13") ([ "[") (number_literal "-2") (] "]")) (, ",") (number_literal "6") () ")"))) (; ";")) (expression_statement "putc(0x20,stdout);" (call_expression "putc(0x20,stdout)" (identifier "putc") (argument_list "(0x20,stdout)" (( "(") (number_literal "0x20") (, ",") (identifier "stdout") () ")"))) (; ";")) (expression_statement "FUN_001116b0(puVar13[-1],2);" (call_expression "FUN_001116b0(puVar13[-1],2)" (identifier "FUN_001116b0") (argument_list "(puVar13[-1],2)" (( "(") (subscript_expression "puVar13[-1]" (identifier "puVar13") ([ "[") (number_literal "-1") (] "]")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);" (assignment_expression "uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" (identifier "uVar8") (= "=") (call_expression "FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" (identifier "FUN_001171e0") (argument_list "(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) (, ",") (binary_expression "param_1 + 0x52" (identifier "param_1") (+ "+") (number_literal "0x52")) (, ",") (binary_expression "(byte)puVar13[1] & 0xf" (cast_expression "(byte)puVar13[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]"))) (& "&") (number_literal "0xf")) () ")")))) (; ";")) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" (identifier "printf") (argument_list "(" %-7s",uVar8)" (( "(") (string_literal "" %-7s"" (" """) (string_content " %-7s") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);" (assignment_expression "uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4)" (identifier "uVar8") (= "=") (call_expression "FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4)" (identifier "FUN_00118b60") (argument_list "(param_1 + 0x1f,(byte)puVar13[1] >> 4)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) (, ",") (binary_expression "(byte)puVar13[1] >> 4" (cast_expression "(byte)puVar13[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "printf(" %-6s",uVar8);" (call_expression "printf(" %-6s",uVar8)" (identifier "printf") (argument_list "(" %-6s",uVar8)" (( "(") (string_literal "" %-6s"" (" """) (string_content " %-6s") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x1f) == '\x06') {\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }\n                      else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\x06')" (( "(") (binary_expression "*(char *)(param_1 + 0x1f) == '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" (* "*") (cast_expression "(char *)(param_1 + 0x1f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) () ")")))) (== "==") (char_literal "'\x06'" (' "'") (escape_sequence "\x06") (' "'"))) () ")")) (compound_statement "{\n                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));\n                        printf(" %-7s",uVar8);\n                      }" ({ "{") (expression_statement "uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));" (assignment_expression "uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9))" (identifier "uVar8") (= "=") (call_expression "FUN_00114270(*(undefined1 *)((long)puVar13 + 9))" (identifier "FUN_00114270") (argument_list "(*(undefined1 *)((long)puVar13 + 9))" (( "(") (pointer_expression "*(undefined1 *)((long)puVar13 + 9)" (* "*") (cast_expression "(undefined1 *)((long)puVar13 + 9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + 9)" (( "(") (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (number_literal "9")) () ")")))) () ")")))) (; ";")) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" (identifier "printf") (argument_list "(" %-7s",uVar8)" (( "(") (string_literal "" %-7s"" (" """) (string_content " %-7s") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" (else "else") (compound_statement "{\n                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;\n                        uVar8 = FUN_001141e0(bVar22);\n                        printf(" %-7s",uVar8);\n                        if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }\n                      }" ({ "{") (expression_statement "bVar22 = *(byte *)((long)puVar13 + 9) & 3;" (assignment_expression "bVar22 = *(byte *)((long)puVar13 + 9) & 3" (identifier "bVar22") (= "=") (binary_expression "*(byte *)((long)puVar13 + 9) & 3" (pointer_expression "*(byte *)((long)puVar13 + 9)" (* "*") (cast_expression "(byte *)((long)puVar13 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + 9)" (( "(") (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (number_literal "9")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar8 = FUN_001141e0(bVar22);" (assignment_expression "uVar8 = FUN_001141e0(bVar22)" (identifier "uVar8") (= "=") (call_expression "FUN_001141e0(bVar22)" (identifier "FUN_001141e0") (argument_list "(bVar22)" (( "(") (identifier "bVar22") () ")")))) (; ";")) (expression_statement "printf(" %-7s",uVar8);" (call_expression "printf(" %-7s",uVar8)" (identifier "printf") (argument_list "(" %-7s",uVar8)" (( "(") (string_literal "" %-7s"" (" """) (string_content " %-7s") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";")) (if_statement "if (*(byte *)((long)puVar13 + 9) != bVar22) {\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }" (if "if") (parenthesized_expression "(*(byte *)((long)puVar13 + 9) != bVar22)" (( "(") (binary_expression "*(byte *)((long)puVar13 + 9) != bVar22" (pointer_expression "*(byte *)((long)puVar13 + 9)" (* "*") (cast_expression "(byte *)((long)puVar13 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + 9)" (( "(") (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (number_literal "9")) () ")")))) (!= "!=") (identifier "bVar22")) () ")")) (compound_statement "{\n                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);\n                          printf(" [%s] ",uVar8);\n                        }" ({ "{") (expression_statement "uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);" (assignment_expression "uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" (identifier "uVar8") (= "=") (call_expression "FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" (identifier "FUN_00122cb0") (argument_list "(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22)" (( "(") (identifier "param_1") (, ",") (binary_expression "*(byte *)((long)puVar13 + 9) ^ bVar22" (pointer_expression "*(byte *)((long)puVar13 + 9)" (* "*") (cast_expression "(byte *)((long)puVar13 + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + 9)" (( "(") (binary_expression "(long)puVar13 + 9" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (number_literal "9")) () ")")))) (^ "^") (identifier "bVar22")) () ")")))) (; ";")) (expression_statement "printf(" [%s] ",uVar8);" (call_expression "printf(" [%s] ",uVar8)" (identifier "printf") (argument_list "(" [%s] ",uVar8)" (( "(") (string_literal "" [%s] "" (" """) (string_content " [%s] ") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));" (assignment_expression "uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc))" (identifier "uVar8") (= "=") (call_expression "FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc))" (identifier "FUN_001142e0") (argument_list "(param_1,*(undefined4 *)((long)puVar13 + 0xc))" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined4 *)((long)puVar13 + 0xc)" (* "*") (cast_expression "(undefined4 *)((long)puVar13 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + 0xc)" (( "(") (binary_expression "(long)puVar13 + 0xc" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (number_literal "0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "printf(" %4s ",uVar8);" (call_expression "printf(" %4s ",uVar8)" (identifier "printf") (argument_list "(" %4s ",uVar8)" (( "(") (string_literal "" %4s "" (" """) (string_content " %4s ") (" """)) (, ",") (identifier "uVar8") () ")"))) (; ";")) (if_statement "if (*puVar13 < uVar16) {\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }\n                      else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" (if "if") (parenthesized_expression "(*puVar13 < uVar16)" (( "(") (binary_expression "*puVar13 < uVar16" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (< "<") (identifier "uVar16")) () ")")) (compound_statement "{\n                        lVar7 = *puVar13 + (long)local_f0;\n                      }" ({ "{") (expression_statement "lVar7 = *puVar13 + (long)local_f0;" (assignment_expression "lVar7 = *puVar13 + (long)local_f0" (identifier "lVar7") (= "=") (binary_expression "*puVar13 + (long)local_f0" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (+ "+") (cast_expression "(long)local_f0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_f0")))) (; ";")) (} "}")) (else_clause "else {\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" (else "else") (compound_statement "{\n                        lVar7 = dcgettext(0,"<corrupt>",5);\n                      }" ({ "{") (expression_statement "lVar7 = dcgettext(0,"<corrupt>",5);" (assignment_expression "lVar7 = dcgettext(0,"<corrupt>",5)" (identifier "lVar7") (= "=") (call_expression "dcgettext(0,"<corrupt>",5)" (identifier "dcgettext") (argument_list "(0,"<corrupt>",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<corrupt>"" (" """) (string_content "<corrupt>") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")))) (expression_statement "FUN_001122a0(0x19,lVar7);" (call_expression "FUN_001122a0(0x19,lVar7)" (identifier "FUN_001122a0") (argument_list "(0x19,lVar7)" (( "(") (number_literal "0x19") (, ",") (identifier "lVar7") () ")"))) (; ";")) (expression_statement "lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);" (assignment_expression "lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" (identifier "lVar7") (= "=") (call_expression "FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" (identifier "FUN_0011d570") (argument_list "(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21\n                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52)" (( "(") (identifier "param_1") (, ",") (binary_expression "*(int *)(lVar5 + 4) == 0xb" (pointer_expression "*(int *)(lVar5 + 4)" (* "*") (cast_expression "(int *)(lVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 4)" (( "(") (binary_expression "lVar5 + 4" (identifier "lVar5") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0xb")) (, ",") (identifier "local_f0") (, ",") (identifier "uVar16") (, ",") (identifier "uVar21") (, ",") (identifier "puVar13") (, ",") (binary_expression "(long)puVar13 + 0xc" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (number_literal "0xc")) (, ",") (identifier "local_50") (, ",") (pointer_expression "&local_52" (& "&") (identifier "local_52")) () ")")))) (; ";")) (if_statement "if (lVar7 != 0) {\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }" (if "if") (parenthesized_expression "(lVar7 != 0)" (( "(") (binary_expression "lVar7 != 0" (identifier "lVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }\n                      }" ({ "{") (if_statement "if (local_50[0] == 0) {\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }\n                        else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" (if "if") (parenthesized_expression "(local_50[0] == 0)" (( "(") (binary_expression "local_50[0] == 0" (subscript_expression "local_50[0]" (identifier "local_50") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          printf("@%s (%d)",lVar7,(ulong)local_52);\n                        }" ({ "{") (expression_statement "printf("@%s (%d)",lVar7,(ulong)local_52);" (call_expression "printf("@%s (%d)",lVar7,(ulong)local_52)" (identifier "printf") (argument_list "("@%s (%d)",lVar7,(ulong)local_52)" (( "(") (string_literal ""@%s (%d)"" (" """) (string_content "@%s (%d)") (" """)) (, ",") (identifier "lVar7") (, ",") (cast_expression "(ulong)local_52" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_52")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" (else "else") (compound_statement "{\n                          pcVar20 = "@@%s";\n                          if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }\n                          printf(pcVar20,lVar7);\n                        }" ({ "{") (expression_statement "pcVar20 = "@@%s";" (assignment_expression "pcVar20 = "@@%s"" (identifier "pcVar20") (= "=") (string_literal ""@@%s"" (" """) (string_content "@@%s") (" """))) (; ";")) (if_statement "if (local_50[0] == 1) {\n                            pcVar20 = "@%s";\n                          }" (if "if") (parenthesized_expression "(local_50[0] == 1)" (( "(") (binary_expression "local_50[0] == 1" (subscript_expression "local_50[0]" (identifier "local_50") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                            pcVar20 = "@%s";\n                          }" ({ "{") (expression_statement "pcVar20 = "@%s";" (assignment_expression "pcVar20 = "@%s"" (identifier "pcVar20") (= "=") (string_literal ""@%s"" (" """) (string_content "@%s") (" """))) (; ";")) (} "}"))) (expression_statement "printf(pcVar20,lVar7);" (call_expression "printf(pcVar20,lVar7)" (identifier "printf") (argument_list "(pcVar20,lVar7)" (( "(") (identifier "pcVar20") (, ",") (identifier "lVar7") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" (identifier "putc") (argument_list "(10,stdout)" (( "(") (number_literal "10") (, ",") (identifier "stdout") () ")"))) (; ";")) (if_statement "if (((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')) {\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }" (if "if") (parenthesized_expression "(((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06'))" (( "(") (binary_expression "((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)) &&\n                         (*(char *)(param_1 + 0x1f) != '\x06')" (parenthesized_expression "((((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8))" (( "(") (binary_expression "(((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&\n                          (*(short *)(param_1 + 0x52) != 8)" (parenthesized_expression "(((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21))" (( "(") (binary_expression "((byte)((byte)puVar13[1] >> 4) == 0) &&\n                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)" (parenthesized_expression "((byte)((byte)puVar13[1] >> 4) == 0)" (( "(") (binary_expression "(byte)((byte)puVar13[1] >> 4) == 0" (call_expression "(byte)((byte)puVar13[1] >> 4)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((byte)puVar13[1] >> 4)" (( "(") (binary_expression "(byte)puVar13[1] >> 4" (cast_expression "(byte)puVar13[1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (number_literal "4")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)" (( "(") (comma_expression "uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21" (assignment_expression "uVar2 = *(uint *)(lVar5 + 0x2c)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(lVar5 + 0x2c)" (* "*") (cast_expression "(uint *)(lVar5 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x2c)" (( "(") (binary_expression "lVar5 + 0x2c" (identifier "lVar5") (+ "+") (number_literal "0x2c")) () ")"))))) (, ",") (binary_expression "uVar2 <= (uint)uVar21" (identifier "uVar2") (<= "<=") (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(short *)(param_1 + 0x52) != 8)" (( "(") (binary_expression "*(short *)(param_1 + 0x52) != 8" (pointer_expression "*(short *)(param_1 + 0x52)" (* "*") (cast_expression "(short *)(param_1 + 0x52)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x52)" (( "(") (binary_expression "param_1 + 0x52" (identifier "param_1") (+ "+") (number_literal "0x52")) () ")")))) (!= "!=") (number_literal "8")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_1 + 0x1f) != '\x06')" (( "(") (binary_expression "*(char *)(param_1 + 0x1f) != '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" (* "*") (cast_expression "(char *)(param_1 + 0x1f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) () ")")))) (!= "!=") (char_literal "'\x06'" (' "'") (escape_sequence "\x06") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);\n                        uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);\n                        warn(uVar15,uVar21,uVar8,uVar2);\n                      }" ({ "{") (expression_statement "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);" (assignment_expression "uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" (identifier "uVar8") (= "=") (call_expression "FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5)" (identifier "FUN_00113f30") (argument_list "(param_1 + 0x80,param_1 + 0x88,lVar5)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) (, ",") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) (, ",") (identifier "lVar5") () ")")))) (; ";")) (expression_statement "uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5);" (assignment_expression "uVar15 = dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" (identifier "uVar15") (= "=") (call_expression "dcgettext(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" (identifier "dcgettext") (argument_list "(0,\n                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"\n                                           ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""local symbol %u found at index >= %s\'s sh_info value of %u\n"" (" """) (string_content "local symbol %u found at index >= %s") (escape_sequence "\'") (string_content "s sh_info value of %u") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar15,uVar21,uVar8,uVar2);" (call_expression "warn(uVar15,uVar21,uVar8,uVar2)" (identifier "warn") (argument_list "(uVar15,uVar21,uVar8,uVar2)" (( "(") (identifier "uVar15") (, ",") (identifier "uVar21") (, ",") (identifier "uVar8") (, ",") (identifier "uVar2") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar21 = (ulong)((uint)uVar21 + 1);" (assignment_expression "uVar21 = (ulong)((uint)uVar21 + 1)" (identifier "uVar21") (= "=") (call_expression "(ulong)((uint)uVar21 + 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)uVar21 + 1)" (( "(") (binary_expression "(uint)uVar21 + 1" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar13 = puVar13 + 4;" (assignment_expression "puVar13 = puVar13 + 4" (identifier "puVar13") (= "=") (binary_expression "puVar13 + 4" (identifier "puVar13") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar21 < local_48)" (( "(") (binary_expression "uVar21 < local_48" (identifier "uVar21") (< "<") (identifier "local_48")) () ")")) (; ";")) (} "}"))) (expression_statement "free(local_c0);" (call_expression "free(local_c0)" (identifier "free") (argument_list "(local_c0)" (( "(") (identifier "local_c0") () ")"))) (; ";")) (if_statement "if (*(void **)(param_1 + 0x80) != local_f0) {\n                    free(local_f0);\n                  }" (if "if") (parenthesized_expression "(*(void **)(param_1 + 0x80) != local_f0)" (( "(") (binary_expression "*(void **)(param_1 + 0x80) != local_f0" (pointer_expression "*(void **)(param_1 + 0x80)" (* "*") (cast_expression "(void **)(param_1 + 0x80)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x80)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) () ")")))) (!= "!=") (identifier "local_f0")) () ")")) (compound_statement "{\n                    free(local_f0);\n                  }" ({ "{") (expression_statement "free(local_f0);" (call_expression "free(local_f0)" (identifier "free") (argument_list "(local_f0)" (( "(") (identifier "local_f0") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" (identifier "uVar19") (= "=") (binary_expression "uVar19 + 1" (identifier "uVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar5 = lVar5 + 0x50;" (assignment_expression "lVar5 = lVar5 + 0x50" (identifier "lVar5") (= "=") (binary_expression "lVar5 + 0x50" (identifier "lVar5") (+ "+") (number_literal "0x50"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar19 < *(uint *)(param_1 + 100))" (( "(") (binary_expression "uVar19 < *(uint *)(param_1 + 100)" (identifier "uVar19") (< "<") (pointer_expression "*(uint *)(param_1 + 100)" (* "*") (cast_expression "(uint *)(param_1 + 100)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")"))))) () ")")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00123620:\n      if (DAT_00193470 == 0) goto LAB_001239b8;" (statement_identifier "LAB_00123620") (: ":") (if_statement "if (DAT_00193470 == 0) goto LAB_001239b8;" (if "if") (parenthesized_expression "(DAT_00193470 == 0)" (( "(") (binary_expression "DAT_00193470 == 0" (identifier "DAT_00193470") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001239b8;" (goto "goto") (statement_identifier "LAB_001239b8") (; ";")))) (labeled_statement "LAB_0012362e:\n      iVar4 = DAT_00193470;" (statement_identifier "LAB_0012362e") (: ":") (expression_statement "iVar4 = DAT_00193470;" (assignment_expression "iVar4 = DAT_00193470" (identifier "iVar4") (= "=") (identifier "DAT_00193470")) (; ";"))) (if_statement "if (local_a8 == (ulong *)0x0) goto LAB_001239d6;" (if "if") (parenthesized_expression "(local_a8 == (ulong *)0x0)" (( "(") (binary_expression "local_a8 == (ulong *)0x0" (identifier "local_a8") (== "==") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001239d6;" (goto "goto") (statement_identifier "LAB_001239d6") (; ";"))) (expression_statement "pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5);" (assignment_expression "pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" (identifier "dcngettext") (argument_list "(0,"\nHistogram for bucket list length (total of %lu bucket):\n",\n                                   "\nHistogram for bucket list length (total of %lu buckets):\n",\n                                   local_98,5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nHistogram for bucket list length (total of %lu bucket):\n"" (" """) (escape_sequence "\n") (string_content "Histogram for bucket list length (total of %lu bucket):") (escape_sequence "\n") (" """)) (, ",") (string_literal ""\nHistogram for bucket list length (total of %lu buckets):\n"" (" """) (escape_sequence "\n") (string_content "Histogram for bucket list length (total of %lu buckets):") (escape_sequence "\n") (" """)) (, ",") (identifier "local_98") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20,local_98);" (call_expression "printf(pcVar20,local_98)" (identifier "printf") (argument_list "(pcVar20,local_98)" (( "(") (identifier "pcVar20") (, ",") (identifier "local_98") () ")"))) (; ";")) (expression_statement "puVar13 = (ulong *)calloc(local_98,8);" (assignment_expression "puVar13 = (ulong *)calloc(local_98,8)" (identifier "puVar13") (= "=") (cast_expression "(ulong *)calloc(local_98,8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(local_98,8)" (identifier "calloc") (argument_list "(local_98,8)" (( "(") (identifier "local_98") (, ",") (number_literal "8") () ")"))))) (; ";")) (expression_statement "pcVar20 = "Out of memory allocating space for histogram buckets\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for histogram buckets\n"" (identifier "pcVar20") (= "=") (string_literal ""Out of memory allocating space for histogram buckets\n"" (" """) (string_content "Out of memory allocating space for histogram buckets") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (puVar13 != (ulong *)0x0) {\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }" (if "if") (parenthesized_expression "(puVar13 != (ulong *)0x0)" (( "(") (binary_expression "puVar13 != (ulong *)0x0" (identifier "puVar13") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);\n        memset(pvVar9,0,local_b0);\n        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);\n        printf(pcVar20);\n        if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }\n        free(puVar10);\n        free(puVar13);\n        goto LAB_001239c4;\n      }" ({ "{") (expression_statement "pvVar9 = (void *)FUN_0014c850(local_b0,1,5);" (assignment_expression "pvVar9 = (void *)FUN_0014c850(local_b0,1,5)" (identifier "pvVar9") (= "=") (cast_expression "(void *)FUN_0014c850(local_b0,1,5)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0014c850(local_b0,1,5)" (identifier "FUN_0014c850") (argument_list "(local_b0,1,5)" (( "(") (identifier "local_b0") (, ",") (number_literal "1") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "memset(pvVar9,0,local_b0);" (call_expression "memset(pvVar9,0,local_b0)" (identifier "memset") (argument_list "(pvVar9,0,local_b0)" (( "(") (identifier "pvVar9") (, ",") (number_literal "0") (, ",") (identifier "local_b0") () ")"))) (; ";")) (expression_statement "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);" (assignment_expression "pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" (identifier "pcVar20") (= "=") (cast_expression "(char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," Length  Number     %% of total  Coverage\n",5)" (identifier "dcgettext") (argument_list "(0," Length  Number     %% of total  Coverage\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" Length  Number     %% of total  Coverage\n"" (" """) (string_content " Length  Number     %% of total  Coverage") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar20);" (call_expression "printf(pcVar20)" (identifier "printf") (argument_list "(pcVar20)" (( "(") (identifier "pcVar20") () ")"))) (; ";")) (if_statement "if (local_98 == 0) {\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }\n        else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" (if "if") (parenthesized_expression "(local_98 == 0)" (( "(") (binary_expression "local_98 == 0" (identifier "local_98") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(1,8);\n          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;\n        }" ({ "{") (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" (identifier "free") (argument_list "(pvVar9)" (( "(") (identifier "pvVar9") () ")"))) (; ";")) (expression_statement "puVar10 = (ulong *)calloc(1,8);" (assignment_expression "puVar10 = (ulong *)calloc(1,8)" (identifier "puVar10") (= "=") (cast_expression "(ulong *)calloc(1,8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(1,8)" (identifier "calloc") (argument_list "(1,8)" (( "(") (number_literal "1") (, ",") (number_literal "8") () ")"))))) (; ";")) (if_statement "if (puVar10 == (ulong *)0x0) goto LAB_001247f5;" (if "if") (parenthesized_expression "(puVar10 == (ulong *)0x0)" (( "(") (binary_expression "puVar10 == (ulong *)0x0" (identifier "puVar10") (== "==") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001247f5;" (goto "goto") (statement_identifier "LAB_001247f5") (; ";"))) (} "}")) (else_clause "else {\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" (else "else") (compound_statement "{\n          uVar16 = 0;\n          uVar21 = 0;\n          puVar10 = local_a8;\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);\n          free(pvVar9);\n          puVar10 = (ulong *)calloc(sVar6,8);\n          if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }\n          puVar11 = puVar13;\n          do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);\n          printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);\n          if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }\n        }" ({ "{") (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar10 = local_a8;" (assignment_expression "puVar10 = local_a8" (identifier "puVar10") (= "=") (identifier "local_a8")) (; ";")) (expression_statement "puVar11 = puVar13;" (assignment_expression "puVar11 = puVar13" (identifier "puVar11") (= "=") (identifier "puVar13")) (; ";")) (do_statement "do {\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          } while (local_a8 + local_98 != puVar10);" (do "do") (compound_statement "{\n            uVar18 = *puVar10;\n            sVar6 = uVar21 + 1;\n            if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }\nLAB_001237a1:\n            puVar10 = puVar10 + 1;\n            puVar11 = puVar11 + 1;\n          }" ({ "{") (expression_statement "uVar18 = *puVar10;" (assignment_expression "uVar18 = *puVar10" (identifier "uVar18") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "sVar6 = uVar21 + 1;" (assignment_expression "sVar6 = uVar21 + 1" (identifier "sVar6") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar18 != 0) {\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }" (if "if") (parenthesized_expression "(uVar18 != 0)" (( "(") (binary_expression "uVar18 != 0" (identifier "uVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar17 = *puVar11;\n              lVar5 = uVar16 - uVar17;\n              do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);\n              *puVar11 = uVar17;\n            }" ({ "{") (expression_statement "uVar17 = *puVar11;" (assignment_expression "uVar17 = *puVar11" (identifier "uVar17") (= "=") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) (; ";")) (expression_statement "lVar5 = uVar16 - uVar17;" (assignment_expression "lVar5 = uVar16 - uVar17" (identifier "lVar5") (= "=") (binary_expression "uVar16 - uVar17" (identifier "uVar16") (- "-") (identifier "uVar17"))) (; ";")) (do_statement "do {\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              } while (uVar18 != 0);" (do "do") (compound_statement "{\n                uVar17 = uVar17 + 1;\n                uVar16 = lVar5 + uVar17;\n                sVar6 = uVar21 + 1;\n                if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }\n                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }\n                *(char *)((long)pvVar9 + uVar18) = '\x01';\n                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);\n              }" ({ "{") (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar16 = lVar5 + uVar17;" (assignment_expression "uVar16 = lVar5 + uVar17" (identifier "uVar16") (= "=") (binary_expression "lVar5 + uVar17" (identifier "lVar5") (+ "+") (identifier "uVar17"))) (; ";")) (expression_statement "sVar6 = uVar21 + 1;" (assignment_expression "sVar6 = uVar21 + 1" (identifier "sVar6") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar21 < uVar17) {\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }" (if "if") (parenthesized_expression "(uVar21 < uVar17)" (( "(") (binary_expression "uVar21 < uVar17" (identifier "uVar21") (< "<") (identifier "uVar17")) () ")")) (compound_statement "{\n                  sVar6 = uVar21 + 2;\n                  uVar21 = uVar21 + 1;\n                }" ({ "{") (expression_statement "sVar6 = uVar21 + 2;" (assignment_expression "sVar6 = uVar21 + 2" (identifier "sVar6") (= "=") (binary_expression "uVar21 + 2" (identifier "uVar21") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }" (if "if") (parenthesized_expression "((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0'))" (( "(") (binary_expression "(local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')" (parenthesized_expression "(local_b0 <= uVar18)" (( "(") (binary_expression "local_b0 <= uVar18" (identifier "local_b0") (<= "<=") (identifier "uVar18")) () ")")) (|| "||") (parenthesized_expression "(*(char *)((long)pvVar9 + uVar18) != '\0')" (( "(") (binary_expression "*(char *)((long)pvVar9 + uVar18) != '\0'" (pointer_expression "*(char *)((long)pvVar9 + uVar18)" (* "*") (cast_expression "(char *)((long)pvVar9 + uVar18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar9 + uVar18)" (( "(") (binary_expression "(long)pvVar9 + uVar18" (cast_expression "(long)pvVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar9")) (+ "+") (identifier "uVar18")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                  *puVar11 = uVar17;\n                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);\n                  error(uVar8);\n                  goto LAB_001237a1;\n                }" ({ "{") (expression_statement "*puVar11 = uVar17;" (assignment_expression "*puVar11 = uVar17" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);" (assignment_expression "uVar8 = dcgettext(0,"histogram chain is corrupt\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"histogram chain is corrupt\n",5)" (identifier "dcgettext") (argument_list "(0,"histogram chain is corrupt\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""histogram chain is corrupt\n"" (" """) (string_content "histogram chain is corrupt") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" (identifier "error") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (goto_statement "goto LAB_001237a1;" (goto "goto") (statement_identifier "LAB_001237a1") (; ";")) (} "}"))) (expression_statement "*(char *)((long)pvVar9 + uVar18) = '\x01';" (assignment_expression "*(char *)((long)pvVar9 + uVar18) = '\x01'" (pointer_expression "*(char *)((long)pvVar9 + uVar18)" (* "*") (cast_expression "(char *)((long)pvVar9 + uVar18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)pvVar9 + uVar18)" (( "(") (binary_expression "(long)pvVar9 + uVar18" (cast_expression "(long)pvVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar9")) (+ "+") (identifier "uVar18")) () ")")))) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);" (assignment_expression "uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8)" (identifier "uVar18") (= "=") (pointer_expression "*(ulong *)((long)__ptr_00 + uVar18 * 8)" (* "*") (cast_expression "(ulong *)((long)__ptr_00 + uVar18 * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__ptr_00 + uVar18 * 8)" (( "(") (binary_expression "(long)__ptr_00 + uVar18 * 8" (cast_expression "(long)__ptr_00" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 != 0)" (( "(") (binary_expression "uVar18 != 0" (identifier "uVar18") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "*puVar11 = uVar17;" (assignment_expression "*puVar11 = uVar17" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (labeled_statement "LAB_001237a1:\n            puVar10 = puVar10 + 1;" (statement_identifier "LAB_001237a1") (: ":") (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" (identifier "puVar11") (= "=") (binary_expression "puVar11 + 1" (identifier "puVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_a8 + local_98 != puVar10)" (( "(") (binary_expression "local_a8 + local_98 != puVar10" (binary_expression "local_a8 + local_98" (identifier "local_a8") (+ "+") (identifier "local_98")) (!= "!=") (identifier "puVar10")) () ")")) (; ";")) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" (identifier "free") (argument_list "(pvVar9)" (( "(") (identifier "pvVar9") () ")"))) (; ";")) (expression_statement "puVar10 = (ulong *)calloc(sVar6,8);" (assignment_expression "puVar10 = (ulong *)calloc(sVar6,8)" (identifier "puVar10") (= "=") (cast_expression "(ulong *)calloc(sVar6,8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(sVar6,8)" (identifier "calloc") (argument_list "(sVar6,8)" (( "(") (identifier "sVar6") (, ",") (number_literal "8") () ")"))))) (; ";")) (if_statement "if (puVar10 == (ulong *)0x0) {\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }" (if "if") (parenthesized_expression "(puVar10 == (ulong *)0x0)" (( "(") (binary_expression "puVar10 == (ulong *)0x0" (identifier "puVar10") (== "==") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001247f5:\n            free(puVar13);\n            pcVar20 = "Out of memory allocating space for histogram counts\n";\n            goto LAB_00124267;\n          }" ({ "{") (labeled_statement "LAB_001247f5:\n            free(puVar13);" (statement_identifier "LAB_001247f5") (: ":") (expression_statement "free(puVar13);" (call_expression "free(puVar13)" (identifier "free") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";"))) (expression_statement "pcVar20 = "Out of memory allocating space for histogram counts\n";" (assignment_expression "pcVar20 = "Out of memory allocating space for histogram counts\n"" (identifier "pcVar20") (= "=") (string_literal ""Out of memory allocating space for histogram counts\n"" (" """) (string_content "Out of memory allocating space for histogram counts") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00124267;" (goto "goto") (statement_identifier "LAB_00124267") (; ";")) (} "}"))) (expression_statement "puVar11 = puVar13;" (assignment_expression "puVar11 = puVar13" (identifier "puVar11") (= "=") (identifier "puVar13")) (; ";")) (do_statement "do {\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          } while (puVar13 + local_98 != puVar11);" (do "do") (compound_statement "{\n            uVar18 = *puVar11;\n            puVar11 = puVar11 + 1;\n            puVar10[uVar18] = puVar10[uVar18] + 1;\n            dVar3 = ram0x0017c6b0;\n          }" ({ "{") (expression_statement "uVar18 = *puVar11;" (assignment_expression "uVar18 = *puVar11" (identifier "uVar18") (= "=") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) (; ";")) (expression_statement "puVar11 = puVar11 + 1;" (assignment_expression "puVar11 = puVar11 + 1" (identifier "puVar11") (= "=") (binary_expression "puVar11 + 1" (identifier "puVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar10[uVar18] = puVar10[uVar18] + 1;" (assignment_expression "puVar10[uVar18] = puVar10[uVar18] + 1" (subscript_expression "puVar10[uVar18]" (identifier "puVar10") ([ "[") (identifier "uVar18") (] "]")) (= "=") (binary_expression "puVar10[uVar18] + 1" (subscript_expression "puVar10[uVar18]" (identifier "puVar10") ([ "[") (identifier "uVar18") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "dVar3 = ram0x0017c6b0;" (assignment_expression "dVar3 = ram0x0017c6b0" (identifier "dVar3") (= "=") (identifier "ram0x0017c6b0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar13 + local_98 != puVar11)" (( "(") (binary_expression "puVar13 + local_98 != puVar11" (binary_expression "puVar13 + local_98" (identifier "puVar13") (+ "+") (identifier "local_98")) (!= "!=") (identifier "puVar11")) () ")")) (; ";")) (expression_statement "printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);" (call_expression "printf("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98)" (identifier "printf") (argument_list "("      0  %-10lu (%5.1f%%)\n",\n                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98)" (( "(") (string_literal ""      0  %-10lu (%5.1f%%)\n"" (" """) (string_content "      0  %-10lu (%5.1f%%)") (escape_sequence "\n") (" """)) (, ",") (binary_expression "((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98" (parenthesized_expression "((double)*puVar10 * ram0x0017c6b0)" (( "(") (binary_expression "(double)*puVar10 * ram0x0017c6b0" (cast_expression "(double)*puVar10" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (* "*") (identifier "ram0x0017c6b0")) () ")")) (/ "/") (cast_expression "(double)(long)local_98" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)local_98" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_98")))) () ")"))) (; ";")) (if_statement "if (uVar21 != 0) {\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }" (if "if") (parenthesized_expression "(uVar21 != 0)" (( "(") (binary_expression "uVar21 != 0" (identifier "uVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_e0 = (double)uVar16;\n            uVar18 = 0;\n            uVar16 = 1;\n            do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);\n          }" ({ "{") (expression_statement "local_e0 = (double)uVar16;" (assignment_expression "local_e0 = (double)uVar16" (identifier "local_e0") (= "=") (cast_expression "(double)uVar16" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar16"))) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = 1;" (assignment_expression "uVar16 = 1" (identifier "uVar16") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            } while (bVar23);" (do "do") (compound_statement "{\n              uVar18 = uVar18 + puVar10[uVar16] * uVar16;\n              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);\n              bVar23 = uVar21 != uVar16;\n              uVar16 = uVar16 + 1;\n            }" ({ "{") (expression_statement "uVar18 = uVar18 + puVar10[uVar16] * uVar16;" (assignment_expression "uVar18 = uVar18 + puVar10[uVar16] * uVar16" (identifier "uVar18") (= "=") (binary_expression "uVar18 + puVar10[uVar16] * uVar16" (identifier "uVar18") (+ "+") (binary_expression "puVar10[uVar16] * uVar16" (subscript_expression "puVar10[uVar16]" (identifier "puVar10") ([ "[") (identifier "uVar16") (] "]")) (* "*") (identifier "uVar16")))) (; ";")) (expression_statement "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16);" (call_expression "printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16)" (identifier "printf") (argument_list "("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",\n                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,\n                     ((double)uVar18 * dVar3) / local_e0,uVar16)" (( "(") (string_literal ""%7lu  %-10lu (%5.1f%%)    %5.1f%%\n"" (" """) (string_content "%7lu  %-10lu (%5.1f%%)    %5.1f%%") (escape_sequence "\n") (" """)) (, ",") (binary_expression "((double)puVar10[uVar16] * dVar3) / (double)(long)local_98" (parenthesized_expression "((double)puVar10[uVar16] * dVar3)" (( "(") (binary_expression "(double)puVar10[uVar16] * dVar3" (cast_expression "(double)puVar10[uVar16]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "puVar10[uVar16]" (identifier "puVar10") ([ "[") (identifier "uVar16") (] "]"))) (* "*") (identifier "dVar3")) () ")")) (/ "/") (cast_expression "(double)(long)local_98" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(long)local_98" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_98")))) (, ",") (binary_expression "((double)uVar18 * dVar3) / local_e0" (parenthesized_expression "((double)uVar18 * dVar3)" (( "(") (binary_expression "(double)uVar18 * dVar3" (cast_expression "(double)uVar18" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar18")) (* "*") (identifier "dVar3")) () ")")) (/ "/") (identifier "local_e0")) (, ",") (identifier "uVar16") () ")"))) (; ";")) (expression_statement "bVar23 = uVar21 != uVar16;" (assignment_expression "bVar23 = uVar21 != uVar16" (identifier "bVar23") (= "=") (binary_expression "uVar21 != uVar16" (identifier "uVar21") (!= "!=") (identifier "uVar16"))) (; ";")) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (} "}"))) (} "}")))) (expression_statement "free(puVar10);" (call_expression "free(puVar10)" (identifier "free") (argument_list "(puVar10)" (( "(") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "free(puVar13);" (call_expression "free(puVar13)" (identifier "free") (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (goto_statement "goto LAB_001239c4;" (goto "goto") (statement_identifier "LAB_001239c4") (; ";")) (} "}"))) (labeled_statement "LAB_00124267:\n      uVar8 = dcgettext(0,pcVar20,5);" (statement_identifier "LAB_00124267") (: ":") (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,pcVar20,5)" (identifier "dcgettext") (argument_list "(0,pcVar20,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar20") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" (identifier "error") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" (else "else") (compound_statement "{\n      if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }\nLAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);\n      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }\n      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);\n      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);\n      pcVar20 = "Unable to seek to start of dynamic information\n";\n      if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }\n      if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }\n    }" ({ "{") (if_statement "if (DAT_00193470 == 0) {\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }" (if "if") (parenthesized_expression "(DAT_00193470 == 0)" (( "(") (binary_expression "DAT_00193470 == 0" (identifier "DAT_00193470") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }\n        local_b0 = DAT_00193540;\n        if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }\n        local_a0 = 0;\nLAB_0012359b:\n        local_70 = 0;\n        local_78 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        local_68 = (void *)0x0;\n        local_80 = (void *)0x0;\n        local_a8 = (ulong *)0x0;\n        goto LAB_001235c8;\n      }" ({ "{") (if_statement "if (DAT_00193480 != 0) {\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }" (if "if") (parenthesized_expression "(DAT_00193480 != 0)" (( "(") (binary_expression "DAT_00193480 != 0" (identifier "DAT_00193480") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;\n          local_a0 = DAT_00193540;\n          if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\nLAB_001234e0:\n          DAT_00193540 = local_a0;\n          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;\n          goto LAB_001234ff;\n        }" ({ "{") (if_statement "if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;" (if "if") (parenthesized_expression "((DAT_0019349c == 0) && (DAT_00194690 != 0))" (( "(") (binary_expression "(DAT_0019349c == 0) && (DAT_00194690 != 0)" (parenthesized_expression "(DAT_0019349c == 0)" (( "(") (binary_expression "DAT_0019349c == 0" (identifier "DAT_0019349c") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00194690 != 0)" (( "(") (binary_expression "DAT_00194690 != 0" (identifier "DAT_00194690") (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00124120;" (goto "goto") (statement_identifier "LAB_00124120") (; ";"))) (expression_statement "local_a0 = DAT_00193540;" (assignment_expression "local_a0 = DAT_00193540" (identifier "local_a0") (= "=") (identifier "DAT_00193540")) (; ";")) (if_statement "if (DAT_00193540 == 0) {\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }" (if "if") (parenthesized_expression "(DAT_00193540 == 0)" (( "(") (binary_expression "DAT_00193540 == 0" (identifier "DAT_00193540") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_b0 = 0;\n            goto LAB_0012359b;\n          }" ({ "{") (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0012359b;" (goto "goto") (statement_identifier "LAB_0012359b") (; ";")) (} "}"))) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" (identifier "local_a8") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" (identifier "__ptr_00") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_001234e0:\n          DAT_00193540 = local_a0;" (statement_identifier "LAB_001234e0") (: ":") (expression_statement "DAT_00193540 = local_a0;" (assignment_expression "DAT_00193540 = local_a0" (identifier "DAT_00193540") (= "=") (identifier "local_a0")) (; ";"))) (if_statement "if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;" (if "if") (parenthesized_expression "((DAT_0019349c == 0) && (DAT_00194690 != 0))" (( "(") (binary_expression "(DAT_0019349c == 0) && (DAT_00194690 != 0)" (parenthesized_expression "(DAT_0019349c == 0)" (( "(") (binary_expression "DAT_0019349c == 0" (identifier "DAT_0019349c") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00194690 != 0)" (( "(") (binary_expression "DAT_00194690 != 0" (identifier "DAT_00194690") (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001231f2;" (goto "goto") (statement_identifier "LAB_001231f2") (; ";"))) (goto_statement "goto LAB_001234ff;" (goto "goto") (statement_identifier "LAB_001234ff") (; ";")) (} "}"))) (expression_statement "local_b0 = DAT_00193540;" (assignment_expression "local_b0 = DAT_00193540" (identifier "local_b0") (= "=") (identifier "DAT_00193540")) (; ";")) (if_statement "if (DAT_00193540 != 0) {\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }" (if "if") (parenthesized_expression "(DAT_00193540 != 0)" (( "(") (binary_expression "DAT_00193540 != 0" (identifier "DAT_00193540") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_a8 = (ulong *)0x0;\n          __ptr_00 = (void *)0x0;\n          local_98 = 0;\n          local_b0 = 0;\n          goto LAB_001234ff;\n        }" ({ "{") (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" (identifier "local_a8") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" (identifier "__ptr_00") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_001234ff;" (goto "goto") (statement_identifier "LAB_001234ff") (; ";")) (} "}"))) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0012359b:\n        local_70 = 0;" (statement_identifier "LAB_0012359b") (: ":") (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" (identifier "__ptr_00") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_68 = (void *)0x0;" (assignment_expression "local_68 = (void *)0x0" (identifier "local_68") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_80 = (void *)0x0;" (assignment_expression "local_80 = (void *)0x0" (identifier "local_80") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" (identifier "local_a8") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_001235c8;" (goto "goto") (statement_identifier "LAB_001235c8") (; ";")) (} "}"))) (labeled_statement "LAB_00124120:\n      sVar1 = *(short *)(param_1 + 0x52);" (statement_identifier "LAB_00124120") (: ":") (expression_statement "sVar1 = *(short *)(param_1 + 0x52);" (assignment_expression "sVar1 = *(short *)(param_1 + 0x52)" (identifier "sVar1") (= "=") (pointer_expression "*(short *)(param_1 + 0x52)" (* "*") (cast_expression "(short *)(param_1 + 0x52)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x52)" (( "(") (binary_expression "param_1 + 0x52" (identifier "param_1") (+ "+") (number_literal "0x52")) () ")"))))) (; ";"))) (if_statement "if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }" (if "if") (parenthesized_expression "((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70))" (( "(") (binary_expression "(sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)" (parenthesized_expression "(sVar1 == -0x6fda || sVar1 == 0x16)" (( "(") (binary_expression "sVar1 == -0x6fda || sVar1 == 0x16" (binary_expression "sVar1 == -0x6fda" (identifier "sVar1") (== "==") (number_literal "-0x6fda")) (|| "||") (binary_expression "sVar1 == 0x16" (identifier "sVar1") (== "==") (number_literal "0x16"))) () ")")) (|| "||") (parenthesized_expression "(uVar19 = 4, sVar1 == -0x5c70)" (( "(") (comma_expression "uVar19 = 4, sVar1 == -0x5c70" (assignment_expression "uVar19 = 4" (identifier "uVar19") (= "=") (number_literal "4")) (, ",") (binary_expression "sVar1 == -0x5c70" (identifier "sVar1") (== "==") (number_literal "-0x5c70"))) () ")"))) () ")")) (compound_statement "{\n        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;\n      }" ({ "{") (expression_statement "uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;" (assignment_expression "uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4" (identifier "uVar19") (= "=") (binary_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4" (binary_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4" (call_expression "(uint)(*(char *)(param_1 + 0x1c) == '\x02')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(char *)(param_1 + 0x1c) == '\x02')" (( "(") (binary_expression "*(char *)(param_1 + 0x1c) == '\x02'" (pointer_expression "*(char *)(param_1 + 0x1c)" (* "*") (cast_expression "(char *)(param_1 + 0x1c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")"))) (* "*") (number_literal "4")) (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);" (assignment_expression "lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10)" (identifier "lVar5") (= "=") (call_expression "FUN_00119da0(param_1,DAT_00193580,0x10)" (identifier "FUN_00119da0") (argument_list "(param_1,DAT_00193580,0x10)" (( "(") (identifier "param_1") (, ",") (identifier "DAT_00193580") (, ",") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);" (assignment_expression "iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (identifier "iVar4") (= "=") (call_expression "fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (identifier "fseek") (argument_list "(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0)" (( "(") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (binary_expression "lVar5 + DAT_001946b8" (identifier "lVar5") (+ "+") (identifier "DAT_001946b8")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar20 = "Unable to seek to start of dynamic information\n";" (assignment_expression "pcVar20 = "Unable to seek to start of dynamic information\n"" (identifier "pcVar20") (= "=") (string_literal ""Unable to seek to start of dynamic information\n"" (" """) (string_content "Unable to seek to start of dynamic information") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (iVar4 == 0) {\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }\n      else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }\n        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));\n        pcVar20 = "Failed to read in number of chains\n";\n        if (sVar6 != 1) goto LAB_001241ba;\n        local_98 = (*DAT_00196f88)(local_50,uVar19,5);\n        local_b0 = (*DAT_00196f88)(&local_48,uVar19);\n        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );\n        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;\n        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;\n      }" ({ "{") (expression_statement "sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" (identifier "sVar6") (= "=") (call_expression "fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" (identifier "fread") (argument_list "(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" (( "(") (identifier "local_50") (, ",") (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (, ",") (number_literal "1") (, ",") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar6 != 1) {\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }" (if "if") (parenthesized_expression "(sVar6 != 1)" (( "(") (binary_expression "sVar6 != 1" (identifier "sVar6") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n          pcVar20 = "Failed to read in number of buckets\n";\n          goto LAB_001241ba;\n        }" ({ "{") (expression_statement "pcVar20 = "Failed to read in number of buckets\n";" (assignment_expression "pcVar20 = "Failed to read in number of buckets\n"" (identifier "pcVar20") (= "=") (string_literal ""Failed to read in number of buckets\n"" (" """) (string_content "Failed to read in number of buckets") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_001241ba;" (goto "goto") (statement_identifier "LAB_001241ba") (; ";")) (} "}"))) (expression_statement "sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));" (assignment_expression "sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" (identifier "sVar6") (= "=") (call_expression "fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" (identifier "fread") (argument_list "(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8))" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (cast_expression "(ulong)uVar19" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar19")) (, ",") (number_literal "1") (, ",") (pointer_expression "*(FILE **)(param_1 + 8)" (* "*") (cast_expression "(FILE **)(param_1 + 8)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "pcVar20 = "Failed to read in number of chains\n";" (assignment_expression "pcVar20 = "Failed to read in number of chains\n"" (identifier "pcVar20") (= "=") (string_literal ""Failed to read in number of chains\n"" (" """) (string_content "Failed to read in number of chains") (escape_sequence "\n") (" """))) (; ";")) (if_statement "if (sVar6 != 1) goto LAB_001241ba;" (if "if") (parenthesized_expression "(sVar6 != 1)" (( "(") (binary_expression "sVar6 != 1" (identifier "sVar6") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_001241ba;" (goto "goto") (statement_identifier "LAB_001241ba") (; ";"))) (expression_statement "local_98 = (*DAT_00196f88)(local_50,uVar19,5);" (assignment_expression "local_98 = (*DAT_00196f88)(local_50,uVar19,5)" (identifier "local_98") (= "=") (call_expression "(*DAT_00196f88)(local_50,uVar19,5)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(local_50,uVar19,5)" (( "(") (identifier "local_50") (, ",") (identifier "uVar19") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "local_b0 = (*DAT_00196f88)(&local_48,uVar19);" (assignment_expression "local_b0 = (*DAT_00196f88)(&local_48,uVar19)" (identifier "local_b0") (= "=") (call_expression "(*DAT_00196f88)(&local_48,uVar19)" (parenthesized_expression "(*DAT_00196f88)" (( "(") (pointer_expression "*DAT_00196f88" (* "*") (identifier "DAT_00196f88")) () ")")) (argument_list "(&local_48,uVar19)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "uVar19") () ")")))) (; ";")) (expression_statement "local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        );" (assignment_expression "local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" (identifier "local_a8") (= "=") (cast_expression "(ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" (identifier "FUN_00121f00") (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19\n                                        )" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (, ",") (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")) () ")")))) (, ",") (identifier "local_98") (, ",") (identifier "uVar19") () ")"))))) (; ";")) (expression_statement "__ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)\n        ;" (assignment_expression "__ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" (identifier "__ptr_00") (= "=") (cast_expression "(void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" (identifier "FUN_00121f00") (argument_list "(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) (, ",") (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")) () ")")))) (, ",") (identifier "local_b0") (, ",") (identifier "uVar19") () ")"))))) (; ";")) (if_statement "if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;" (if "if") (parenthesized_expression "((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0))" (( "(") (binary_expression "(local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)" (parenthesized_expression "(local_a8 != (ulong *)0x0)" (( "(") (binary_expression "local_a8 != (ulong *)0x0" (identifier "local_a8") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(__ptr_00 != (void *)0x0)" (( "(") (binary_expression "__ptr_00 != (void *)0x0" (identifier "__ptr_00") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto LAB_001234aa;" (goto "goto") (statement_identifier "LAB_001234aa") (; ";"))) (} "}")) (else_clause "else {\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" (else "else") (compound_statement "{\nLAB_001241ba:\n        __ptr_00 = (void *)0x0;\n        uVar8 = dcgettext(0,pcVar20,5);\n        error(uVar8);\n        local_a8 = (ulong *)0x0;\n      }" ({ "{") (labeled_statement "LAB_001241ba:\n        __ptr_00 = (void *)0x0;" (statement_identifier "LAB_001241ba") (: ":") (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" (identifier "__ptr_00") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "uVar8 = dcgettext(0,pcVar20,5);" (assignment_expression "uVar8 = dcgettext(0,pcVar20,5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,pcVar20,5)" (identifier "dcgettext") (argument_list "(0,pcVar20,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar20") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar8);" (call_expression "error(uVar8)" (identifier "error") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" (identifier "local_a8") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (if_statement "if (DAT_00193480 == 0) {\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }" (if "if") (parenthesized_expression "(DAT_00193480 == 0)" (( "(") (binary_expression "DAT_00193480 == 0" (identifier "DAT_00193480") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        free(local_a8);\n        free(__ptr_00);\n        local_a8 = (ulong *)0x0;\n        local_b0 = 0;\n        local_98 = 0;\n        __ptr_00 = (void *)0x0;\n        goto LAB_001234aa;\n      }" ({ "{") (expression_statement "free(local_a8);" (call_expression "free(local_a8)" (identifier "free") (argument_list "(local_a8)" (( "(") (identifier "local_a8") () ")"))) (; ";")) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" (identifier "free") (argument_list "(__ptr_00)" (( "(") (identifier "__ptr_00") () ")"))) (; ";")) (expression_statement "local_a8 = (ulong *)0x0;" (assignment_expression "local_a8 = (ulong *)0x0" (identifier "local_a8") (= "=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "__ptr_00 = (void *)0x0;" (assignment_expression "__ptr_00 = (void *)0x0" (identifier "__ptr_00") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_001234aa;" (goto "goto") (statement_identifier "LAB_001234aa") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00124278:\n    uVar8 = 0;" (statement_identifier "LAB_00124278") (: ":") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}")))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

type_1 function_1(type_2 *filedata)

{
  type_3 *pbVar1;
  type_4 var_63;
  type_5 var_76;
  type_6 *pEVar4;
  double var_41;
  int var_9;
  type_1 var_31;
  long var_7;
  size_t var_11;
  type_7 var_14;
  void *pvVar11;
  type_8 *var_74;
  type_8 *var_75;
  long *var_34;
  type_8 var_37;
  type_8 *var_35;
  long *var_39;
  type_9 auVar17 [8];
  char *pcVar18;
  type_2 *pFVar19;
  type_3 *var_77;
  type_8 var_22;
  type_8 var_36;
  type_8 var_38;
  type_10 var_73;
  type_11 *var_72;
  type_10 var_54;
  type_3 var_24;
  char *var_70;
  type_8 var_20;
  type_12 var_67;
  type_10 var_65;
  type_2 *var_28;
  bool bVar29;
  char *var_56;
  double var_42;
  type_11 *var_53;
  type_3 var_49;
  type_8 *var_30;
  type_3 var_23;
  type_3 var_47;
  type_3 *var_18;
  type_7 var_19;
  type_7 var_21;
  type_3 *var_25;
  type_5 vna_other;
  type_9 nb [8];
  type_9 var_12 [8];
  type_9 local_40 [16];
  
  if (var_1 == 0 && var_2 == 0) {
    if (var_3 != 0) {
      var_47 = dynamic_info[4];
      if (dynamic_info[4] != 0) goto LAB_00124120;
      var_49 = var_4;
      if (var_4 == 0) {
        var_47 = var_4;
        var_77 = (type_3 *)0x0;
        var_30 = (type_8 *)0x0;
        goto LAB_00123920;
      }
      var_77 = (type_3 *)0x0;
      var_49 = 0;
      var_30 = (type_8 *)0x0;
      var_23 = var_4;
LAB_001231f2:
      var_4 = var_23;
      var_7 = var_5(filedata,var_23,0x10);
      var_9 = var_6((type_13 *)filedata->handle,var_7 + var_8,0);
      var_70 = "Unable to seek to start of dynamic information\n";
      if (var_9 == 0) {
        var_11 = var_10(var_12,0x10,1,(type_13 *)filedata->handle);
        if (var_11 != 1) {
          var_70 = "Failed to read in number of buckets\n";
          goto LAB_00124393;
        }
        var_19 = (*byte_get)(var_12,4);
        var_21 = (*byte_get)(var_12 + 4,4);
        var_14 = (*byte_get)(local_40,4);
        if (var_13 == 0) {
          var_7 = var_14 * 8;
        }
        else {
          var_7 = var_14 * 4;
        }
        var_24 = var_4 + 0x10 + var_7;
        var_7 = var_5(filedata,var_24,4);
        var_9 = var_6((type_13 *)filedata->handle,var_7 + var_8,0);
        if (var_9 != 0) {
          var_70 = (char *)var_15(0,"Unable to seek to start of dynamic information\n",5);
          var_16(var_70);
          var_19 = 0;
          var_18 = (type_3 *)0x0;
          goto LAB_001243c5;
        }
        var_18 = var_17((type_2 *)&filedata->handle,filedata->file_size,(type_10)var_19
                                    ,(type_2 *)0x4);
        if (var_18 == (type_3 *)0x0) {
LAB_0012478c:
          var_19 = 0;
          goto LAB_001243c5;
        }
        if (var_19 == 0) goto LAB_001243c5;
        var_22 = 0xffffffff;
        var_23 = 0;
        do {
          var_20 = var_18[var_23];
          if (var_20 != 0) {
            if (var_20 < var_21) goto LAB_00124278;
            if ((var_22 < var_20) || (var_22 == 0xffffffff)) {
              var_22 = var_20;
            }
          }
          var_23 = var_23 + 1;
        } while (var_19 != var_23);
        if (var_22 == 0xffffffff) goto LAB_0012478c;
        var_19 = var_22 - var_21;
        var_7 = var_5(filedata,var_24 + (var_23 + var_19) * 4,4);
        var_9 = var_6((type_13 *)filedata->handle,var_7 + var_8,0);
        if (var_9 != 0) {
LAB_001248c8:
          var_70 = "Unable to seek to start of dynamic information\n";
LAB_0012340c:
          var_70 = (char *)var_15(0,var_70,5);
          var_16(var_70);
          var_19 = 0;
          goto LAB_001243c5;
        }
        do {
          var_11 = var_10(var_12,4,1,(type_13 *)filedata->handle);
          if (var_11 != 1) {
            var_70 = "Failed to determine last chain length\n";
            goto LAB_0012340c;
          }
          if (var_19 == 0xffffffffffffffff) goto LAB_0012478c;
          var_19 = var_19 + 1;
          var_14 = (*byte_get)(var_12,4);
        } while ((var_14 & 1) == 0);
        var_7 = var_5(filedata,var_24 + var_23 * 4,4);
        var_9 = var_6((type_13 *)filedata->handle,var_7 + var_8,0);
        if (var_9 != 0) goto LAB_001248c8;
        var_25 = var_17((type_2 *)&filedata->handle,filedata->file_size,(type_10)var_19
                                    ,(type_2 *)0x4);
        if (var_25 == (type_3 *)0x0) goto LAB_001243c5;
      }
      else {
LAB_00124393:
        var_70 = (char *)var_15(0,var_70,5);
        var_16(var_70);
        var_19 = 0;
        var_21 = 0;
        var_18 = (type_3 *)0x0;
LAB_001243c5:
        var_26(var_18);
        if (var_27 != 0) goto LAB_00124278;
        var_25 = (type_3 *)0x0;
        var_18 = (type_3 *)0x0;
        var_23 = 0;
      }
      if (dynamic_info[4] != 0 || var_4 != 0) goto LAB_001235c8;
LAB_0012395b:
      if (var_1 != 0) goto LAB_00123c50;
      if (var_2 == 0) goto LAB_00123620;
      if (var_27 == 0) {
LAB_001242fe:
        var_28 = (type_2 *)filedata->section_headers;
        if (var_28 != (type_2 *)0x0) goto LAB_00123c5d;
      }
LAB_00123987:
      var_70 = (char *)var_15(0,
                                  "\nDynamic symbol information is not available for displaying symbols.\n"
                                  ,5);
      var_29(var_70);
      if (var_3 != 0) goto LAB_0012362e;
LAB_001239b8:
      if (var_30 != (type_8 *)0x0) {
LAB_001239c4:
        var_31 = var_3;
        var_26(var_30);
        var_26(var_77);
LAB_001239d6:
        if ((var_31 != 0) && (var_18 != (type_3 *)0x0)) {
          var_70 = (char *)var_32(0,
                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"
                                       ,
                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"
                                       ,var_23,5);
          var_29(var_70,var_23);
          var_34 = (long *)var_33(var_23,8);
          var_70 = "Out of memory allocating space for gnu histogram buckets\n";
          if (var_34 == (long *)0x0) goto LAB_00124267;
          var_70 = (char *)var_15(0," Length  Number     %% of total  Coverage\n",5);
          var_29(var_70);
          if (var_23 == 0) {
            var_35 = (type_8 *)var_33(1,8);
            if (var_35 == (type_8 *)0x0) goto LAB_00124253;
          }
          else {
            var_20 = 0;
            var_22 = 0;
            var_11 = 0;
            do {
              while (var_24 = var_18[var_11], var_24 != 0) {
                if (var_24 - var_21 < var_19) {
                  var_36 = var_25[var_24 - var_21];
                  var_38 = (type_8)((type_10)var_36 & 1);
                  if ((var_36 & 1) != 0) goto LAB_00123ae4;
                  var_38 = (var_21 - var_24) + var_19 + 1;
                  var_36 = 1;
                  do {
                    var_37 = var_36 + 1;
                    if (var_37 == var_38) goto LAB_00123ae4;
                    var_35 = var_25 + (var_24 - var_21) + var_36;
                    var_36 = var_37;
                  } while ((*var_35 & 1) == 0);
                  var_34[var_11] = var_37;
                  if (var_22 < var_37) {
                    var_22 = var_37;
                  }
                }
                else {
                  var_38 = 1;
LAB_00123ae4:
                  var_34[var_11] = var_38;
                  var_37 = var_38;
                  if (var_22 < var_38) {
                    var_22 = var_38;
                  }
                }
                var_20 = var_20 + var_37;
                var_11 = var_11 + 1;
                if (var_11 == var_23) goto LAB_00123afb;
              }
              var_11 = var_11 + 1;
            } while (var_11 != var_23);
LAB_00123afb:
            var_35 = (type_8 *)var_33(var_22 + 1,8);
            if (var_35 == (type_8 *)0x0) {
LAB_00124253:
              var_26(var_34);
              var_70 = "Out of memory allocating space for gnu histogram counts\n";
              goto LAB_00124267;
            }
            var_39 = var_34;
            do {
              var_7 = *var_39;
              var_39 = var_39 + 1;
              var_35[var_7] = var_35[var_7] + 1;
              var_41 = var_40;
            } while (var_34 + var_23 != var_39);
            var_29("      0  %-10lu (%5.1f%%)\n",
                   ((double)*var_35 * var_40) / (double)(long)var_23);
            if (var_22 != 0) {
              var_42 = (double)var_20;
              var_38 = 0;
              var_20 = 1;
              do {
                var_38 = var_38 + var_35[var_20] * var_20;
                var_29("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",
                       ((double)var_35[var_20] * var_41) / (double)(long)var_23,
                       ((double)var_38 * var_41) / var_42,var_20);
                bVar29 = var_22 != var_20;
                var_20 = var_20 + 1;
              } while (bVar29);
            }
          }
          var_26(var_35);
          var_26(var_34);
          var_26(var_18);
          var_26(var_25);
        }
      }
    }
    var_31 = 1;
  }
  else {
    var_47 = dynamic_info[4];
    if (dynamic_info[4] == 0) {
      var_49 = 0;
      var_77 = (type_3 *)0x0;
      var_30 = (type_8 *)0x0;
LAB_001234aa:
      var_23 = var_4;
      if (var_4 == 0) {
LAB_00123920:
        if (dynamic_info[4] == 0) {
          var_19 = 0;
          var_21 = 0;
          var_25 = (type_3 *)0x0;
          var_18 = (type_3 *)0x0;
          var_23 = 0;
          goto LAB_0012395b;
        }
      }
      else {
        if (var_3 != 0) goto LAB_001231f2;
        if (var_27 != 0) goto LAB_001234e0;
      }
LAB_001234ff:
      var_19 = 0;
      var_21 = 0;
      var_25 = (type_3 *)0x0;
      var_18 = (type_3 *)0x0;
      var_23 = 0;
LAB_001235c8:
      if (var_2 == 0) goto LAB_0012395b;
      if (var_27 != 0) {
        if ((var_43 == (char *)0x0) || (var_44 == (type_11 *)0x0)) {
          if (var_1 != 0) goto LAB_00123c50;
          goto LAB_00123987;
        }
        if (dynamic_info[4] != 0) {
          var_70 = (char *)var_15(0,"\nSymbol table for image:\n",5);
          var_29(var_70);
          var_70 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";
          if (var_13 == 0) {
            var_70 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";
          }
          var_70 = (char *)var_15(0,var_70,5);
          var_29(var_70);
          pvVar11 = var_45(var_49,1);
          var_22 = 0;
          var_46(pvVar11,0,var_49);
          if (var_47 != 0) {
            do {
              for (var_24 = var_30[var_22]; var_24 != 0; var_24 = var_77[var_24]) {
                var_48(filedata,var_24,var_22);
                if ((var_49 <= var_24) || (*(char *)((long)pvVar11 + var_24) != '\0')) {
                  var_70 = (char *)var_15(0,"histogram chain is corrupt\n",5);
                  var_16(var_70);
                  break;
                }
                *(char *)((long)pvVar11 + var_24) = '\x01';
              }
              var_22 = var_22 + 1;
            } while (var_47 != var_22);
          }
          var_26(pvVar11);
        }
        if (var_4 != 0) {
          var_70 = (char *)var_15(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);
          var_29(var_70);
          var_70 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";
          if (var_13 == 0) {
            var_70 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";
          }
          var_22 = 0;
          var_70 = (char *)var_15(0,var_70,5);
          var_29(var_70);
          if (var_23 != 0) {
            do {
              if (var_18[var_22] != 0) {
                var_20 = var_18[var_22] - var_21;
                do {
                  var_48(filedata,var_20 + var_21,var_22);
                  if (var_19 <= var_20) break;
                  pbVar1 = var_25 + var_20;
                  var_20 = var_20 + 1;
                } while ((*pbVar1 & 1) == 0);
              }
              var_22 = var_22 + 1;
            } while (var_22 != var_23);
          }
        }
        goto LAB_00123620;
      }
      if (var_1 == 0) goto LAB_001242fe;
LAB_00123c50:
      var_28 = (type_2 *)filedata->section_headers;
      if (var_28 == (type_2 *)0x0) {
        if (var_2 != 0) goto LAB_00123987;
      }
      else {
LAB_00123c5d:
        if ((filedata->file_header).e_shnum != 0) {
          var_73 = 0;
          do {
            var_9 = *(int *)((long)&var_28->file_name + 4);
            if (((var_9 == 2) || (var_9 == 0xb)) && ((var_2 != 0 || (var_9 != 2)))) {
              var_22 = (var_28->file_header).e_shoff;
              if (var_22 == 0) {
                var_70 = var_50
                                    ((type_2 *)&filedata->string_table,
                                     (type_6 *)&filedata->string_table_length,var_28)
                ;
                pcVar18 = (char *)var_15(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)
                ;
                var_29(pcVar18,var_70);
              }
              else {
                auVar17 = (type_9  [8])(*(type_8 *)((var_28->file_header).e_ident + 8) / var_22);
                var_12 = auVar17;
                var_70 = var_50
                                    ((type_2 *)&filedata->string_table,
                                     (type_6 *)&filedata->string_table_length,var_28)
                ;
                pcVar18 = (char *)var_32(0,"\nSymbol table \'%s\' contains %lu entry:\n",
                                             "\nSymbol table \'%s\' contains %lu entries:\n",var_12,5);
                var_29(pcVar18,var_70,auVar17);
                var_70 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";
                if (var_13 == 0) {
                  var_70 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";
                }
                var_70 = (char *)var_15(0,var_70,5);
                var_29(var_70);
                if (var_13 == 0) {
                  var_53 = var_51
                                       (filedata,(type_6 *)var_28,(type_8 *)var_12);
                }
                else {
                  var_53 = var_52
                                       (filedata,(type_6 *)var_28,(type_8 *)var_12);
                }
                if (var_53 != (type_11 *)0x0) {
                  var_54 = (type_10)(var_28->file_header).e_entry;
                  if (var_54 == (filedata->file_header).e_shstrndx) {
                    var_56 = filedata->string_table;
                    var_67 = filedata->string_table_length;
                  }
                  else {
                    var_56 = (char *)0x0;
                    var_67 = 0;
                    if (var_54 < (filedata->file_header).e_shnum) {
                      pEVar4 = filedata->section_headers;
                      pFVar19 = (type_2 *)var_15(0,"string table",5);
                      var_56 = (char *)var_55((void *)0x0,(type_2 *)&filedata->handle,
                                                  (type_8)&filedata->file_size,
                                                  pEVar4[var_54].sh_offset,1,
                                                  (char *)pEVar4[var_54].sh_size,pFVar19);
                      if (var_56 != (char *)0x0) {
                        var_67 = pEVar4[var_54].sh_size;
                      }
                    }
                  }
                  if (var_12 != (type_9  [8])0x0) {
                    pFVar19 = (type_2 *)((filedata->file_header).e_ident + 7);
                    auVar17[0] = '\0';
                    auVar17[1] = '\0';
                    auVar17[2] = '\0';
                    auVar17[3] = '\0';
                    auVar17[4] = '\0';
                    auVar17[5] = '\0';
                    auVar17[6] = '\0';
                    auVar17[7] = '\0';
                    var_72 = (type_11 *)&var_53->st_name;
                    do {
                      var_54 = auVar17._0_4_;
                      var_29("%6d: ",auVar17);
                      var_57(var_72[-1].st_name,LONG_HEX);
                      var_58(0x20,stdout);
                      var_24._0_1_ = var_72[-1].st_info;
                      var_24._1_1_ = var_72[-1].st_other;
                      var_24._2_1_ = var_72[-1].st_target_internal;
                      var_24._3_1_ = var_72[-1].field_0x1b;
                      var_24._4_4_ = var_72[-1].st_shndx;
                      var_57(var_24,DEC_5);
                      var_70 = var_59(pFVar19,(int)filedata + 0x52,
                                                (type_2 *)(type_8)((type_4)var_72->st_size & 0xf));
                      var_29(" %-7s",var_70);
                      var_70 = var_60(pFVar19,(type_10)(type_4)((type_4)var_72->st_size >> 4));
                      var_29(" %-6s",var_70);
                      if ((filedata->file_header).e_ident[7] == '\x06') {
                        var_70 = var_61
                                            ((type_10)*(type_4 *)((long)&var_72->st_size + 1));
                        var_29(" %-7s",var_70);
                      }
                      else {
                        var_65 = *(type_4 *)((long)&var_72->st_size + 1) & 3;
                        var_70 = var_62(var_65);
                        var_29(" %-7s",var_70);
                        var_63 = *(type_4 *)((long)&var_72->st_size + 1);
                        if (var_63 != (type_4)var_65) {
                          var_70 = var_64(filedata,var_63 ^ var_65);
                          var_29(" [%s] ",var_70);
                        }
                      }
                      var_70 = var_66(filedata,*(type_10 *)((long)&var_72->st_size + 4));
                      var_29(" %4s ",var_70);
                      if (var_72->st_value < var_67) {
                        var_70 = var_56 + var_72->st_value;
                      }
                      else {
                        var_70 = (char *)var_15(0,"<corrupt>",5);
                      }
                      var_68(L'\x19',var_70);
                      var_70 = var_69
                                          (filedata,(type_10)(*(int *)((long)&var_28->file_name + 4
                                                                   ) == 0xb),var_56,var_67,
                                           var_54,var_72,
                                           (type_14 *)((long)&var_72->st_size + 4),
                                           (type_5 *)nb,(type_11 *)&vna_other);
                      if (var_70 != (char *)0x0) {
                        if (nb._0_4_ == 0) {
                          var_29("@%s (%d)",var_70,(type_8)vna_other);
                        }
                        else {
                          pcVar18 = "@@%s";
                          if (nb._0_4_ == 1) {
                            pcVar18 = "@%s";
                          }
                          var_29(pcVar18,var_70);
                        }
                      }
                      var_58(10,stdout);
                      if (((((type_4)((type_4)var_72->st_size >> 4) == 0) &&
                           (var_65 = *(type_10 *)((long)&(var_28->file_header).e_entry + 4),
                           var_65 <= var_54)) && ((filedata->file_header).e_machine != 8)) &&
                         ((filedata->file_header).e_ident[7] != '\x06')) {
                        var_70 = var_50
                                            ((type_2 *)&filedata->string_table,
                                             (type_6 *)&filedata->string_table_length,
                                             var_28);
                        pcVar18 = (char *)var_15(0,
                                                  "local symbol %u found at index >= %s\'s sh_info value of %u\n"
                                                  ,5);
                        var_71(pcVar18,auVar17,var_70,(type_8)var_65);
                      }
                      auVar17._0_4_ = var_54 + 1;
                      auVar17[4] = '\0';
                      auVar17[5] = '\0';
                      auVar17[6] = '\0';
                      auVar17[7] = '\0';
                      var_72 = var_72 + 1;
                    } while ((type_8)auVar17 < (type_8)var_12);
                  }
                  var_26(var_53);
                  if (filedata->string_table != var_56) {
                    var_26(var_56);
                  }
                }
              }
            }
            var_73 = var_73 + 1;
            var_28 = (type_2 *)&(var_28->file_header).e_type;
          } while (var_73 < (filedata->file_header).e_shnum);
        }
      }
LAB_00123620:
      if (var_3 == 0) goto LAB_001239b8;
LAB_0012362e:
      var_31 = var_3;
      if (var_30 == (type_8 *)0x0) goto LAB_001239d6;
      var_70 = (char *)var_32(0,"\nHistogram for bucket list length (total of %lu bucket):\n",
                                   "\nHistogram for bucket list length (total of %lu buckets):\n",
                                   var_47,5);
      var_29(var_70,var_47);
      var_35 = (type_8 *)var_33(var_47,8);
      var_70 = "Out of memory allocating space for histogram buckets\n";
      if (var_35 != (type_8 *)0x0) {
        pvVar11 = var_45(var_49,1);
        var_46(pvVar11,0,var_49);
        var_70 = (char *)var_15(0," Length  Number     %% of total  Coverage\n",5);
        var_29(var_70);
        if (var_47 == 0) {
          var_26(pvVar11);
          var_74 = (type_8 *)var_33(1,8);
          if (var_74 == (type_8 *)0x0) goto LAB_001247f5;
        }
        else {
          var_22 = 0;
          var_20 = 0;
          var_74 = var_30;
          var_75 = var_35;
          do {
            var_38 = *var_74;
            var_11 = var_20 + 1;
            if (var_38 != 0) {
              var_36 = *var_75;
              var_7 = var_22 - var_36;
              do {
                var_36 = var_36 + 1;
                var_22 = var_7 + var_36;
                var_11 = var_20 + 1;
                if (var_20 < var_36) {
                  var_11 = var_20 + 2;
                  var_20 = var_20 + 1;
                }
                if ((var_49 <= var_38) || (*(char *)((long)pvVar11 + var_38) != '\0')) {
                  *var_75 = var_36;
                  var_70 = (char *)var_15(0,"histogram chain is corrupt\n",5);
                  var_16(var_70);
                  goto LAB_001237a1;
                }
                *(char *)((long)pvVar11 + var_38) = '\x01';
                var_38 = var_77[var_38];
              } while (var_38 != 0);
              *var_75 = var_36;
            }
LAB_001237a1:
            var_74 = var_74 + 1;
            var_75 = var_75 + 1;
          } while (var_30 + var_47 != var_74);
          var_26(pvVar11);
          var_74 = (type_8 *)var_33(var_11,8);
          if (var_74 == (type_8 *)0x0) {
LAB_001247f5:
            var_26(var_35);
            var_70 = "Out of memory allocating space for histogram counts\n";
            goto LAB_00124267;
          }
          var_75 = var_35;
          do {
            var_38 = *var_75;
            var_75 = var_75 + 1;
            var_74[var_38] = var_74[var_38] + 1;
            var_41 = var_40;
          } while (var_35 + var_47 != var_75);
          var_29("      0  %-10lu (%5.1f%%)\n",
                 ((double)*var_74 * var_40) / (double)(long)var_47);
          if (var_20 != 0) {
            var_42 = (double)var_22;
            var_38 = 0;
            var_22 = 1;
            do {
              var_38 = var_38 + var_74[var_22] * var_22;
              var_29("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",
                     ((double)var_74[var_22] * var_41) / (double)(long)var_47,
                     ((double)var_38 * var_41) / var_42,var_22);
              bVar29 = var_20 != var_22;
              var_22 = var_22 + 1;
            } while (bVar29);
          }
        }
        var_26(var_74);
        var_26(var_35);
        goto LAB_001239c4;
      }
LAB_00124267:
      var_70 = (char *)var_15(0,var_70,5);
      var_16(var_70);
    }
    else {
      if (var_3 == 0) {
        if (var_27 != 0) {
          if ((var_1 == 0) && (var_43 != (char *)0x0)) goto LAB_00124120;
          var_23 = var_4;
          if (var_4 == 0) {
            var_49 = 0;
            goto LAB_0012359b;
          }
          var_30 = (type_8 *)0x0;
          var_77 = (type_3 *)0x0;
          var_47 = 0;
          var_49 = 0;
LAB_001234e0:
          var_4 = var_23;
          if ((var_1 == 0) && (var_43 != (char *)0x0)) goto LAB_001231f2;
          goto LAB_001234ff;
        }
        var_49 = var_4;
        if (var_4 != 0) {
          var_30 = (type_8 *)0x0;
          var_77 = (type_3 *)0x0;
          var_47 = 0;
          var_49 = 0;
          goto LAB_001234ff;
        }
        var_23 = 0;
LAB_0012359b:
        var_21 = 0;
        var_19 = 0;
        var_47 = 0;
        var_77 = (type_3 *)0x0;
        var_25 = (type_3 *)0x0;
        var_18 = (type_3 *)0x0;
        var_30 = (type_8 *)0x0;
        goto LAB_001235c8;
      }
LAB_00124120:
      var_76 = (filedata->file_header).e_machine;
      if ((var_76 == 0x9026 || var_76 == 0x16) || (var_73 = 4, var_76 == 0xa390)) {
        var_73 = (type_10)((filedata->file_header).e_ident[4] == '\x02') * 4 + 4;
      }
      var_7 = var_5(filedata,dynamic_info[4],0x10);
      var_9 = var_6((type_13 *)filedata->handle,var_7 + var_8,0);
      var_70 = "Unable to seek to start of dynamic information\n";
      if (var_9 == 0) {
        var_11 = var_10(nb,(type_8)var_73,1,(type_13 *)filedata->handle);
        if (var_11 != 1) {
          var_70 = "Failed to read in number of buckets\n";
          goto LAB_001241ba;
        }
        var_11 = var_10(var_12,(type_8)var_73,1,(type_13 *)filedata->handle);
        var_70 = "Failed to read in number of chains\n";
        if (var_11 != 1) goto LAB_001241ba;
        var_47 = (*byte_get)(nb,var_73);
        var_49 = (*byte_get)(var_12,var_73);
        var_30 = var_17((type_2 *)&filedata->handle,filedata->file_size,(type_10)var_47
                                    ,(type_2 *)(type_8)var_73);
        var_77 = var_17((type_2 *)&filedata->handle,filedata->file_size,(type_10)var_49
                                    ,(type_2 *)(type_8)var_73);
        if ((var_30 != (type_3 *)0x0) && (var_77 != (type_3 *)0x0)) goto LAB_001234aa;
      }
      else {
LAB_001241ba:
        var_77 = (type_3 *)0x0;
        var_70 = (char *)var_15(0,var_70,5);
        var_16(var_70);
        var_30 = (type_3 *)0x0;
      }
      if (var_27 == 0) {
        var_26(var_30);
        var_26(var_77);
        var_30 = (type_8 *)0x0;
        var_49 = 0;
        var_47 = 0;
        var_77 = (type_3 *)0x0;
        goto LAB_001234aa;
      }
    }
LAB_00124278:
    var_31 = 0;
  }
  return var_31;
}


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

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

undefined8 MASKED(long param_1)

{
  short sVar1;
  uint uVar2;
  double dVar3;
  int iVar4;
  long lVar5;
  size_t sVar6;
  long lVar7;
  undefined8 uVar8;
  void *pvVar9;
  ulong *puVar10;
  ulong *puVar11;
  long *__ptr;
  ulong uVar12;
  ulong *puVar13;
  long *plVar14;
  undefined8 uVar15;
  void *__ptr_00;
  ulong uVar16;
  ulong uVar17;
  ulong uVar18;
  uint uVar19;
  char *pcVar20;
  ulong uVar21;
  byte bVar22;
  bool bVar23;
  void *local_f0;
  double local_e0;
  void *local_c0;
  size_t local_b0;
  ulong *local_a8;
  size_t local_a0;
  size_t local_98;
  void *local_80;
  size_t local_78;
  ulong local_70;
  void *local_68;
  ushort local_52;
  int local_50 [2];
  undefined8 local_48;
  undefined1 local_40 [16];
  
  if (DAT_0019349c == 0 && DAT_001934a0 == 0) {
    if (DAT_00193470 != 0) {
      local_98 = DAT_00193580;
      if (DAT_00193580 != 0) goto LAB_00124120;
      local_b0 = DAT_00193540;
      if (DAT_00193540 == 0) {
        local_98 = DAT_00193540;
        __ptr_00 = (void *)0x0;
        local_a8 = (ulong *)0x0;
        goto LAB_00123920;
      }
      __ptr_00 = (void *)0x0;
      local_b0 = 0;
      local_a8 = (ulong *)0x0;
      local_a0 = DAT_00193540;
LAB_001231f2:
      DAT_00193540 = local_a0;
      lVar5 = FUN_00119da0(param_1,local_a0,0x10);
      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);
      pcVar20 = "Unable to seek to start of dynamic information\n";
      if (iVar4 == 0) {
        sVar6 = fread(&local_48,0x10,1,*(FILE **)(param_1 + 8));
        if (sVar6 != 1) {
          pcVar20 = "Failed to read in number of buckets\n";
          goto LAB_00124393;
        }
        local_78 = (*DAT_00196f88)(&local_48,4);
        local_70 = (*DAT_00196f88)((long)&local_48 + 4,4);
        lVar5 = (*DAT_00196f88)(local_40,4);
        if (DAT_0019345c == 0) {
          lVar5 = lVar5 * 8;
        }
        else {
          lVar5 = lVar5 * 4;
        }
        lVar5 = DAT_00193540 + 0x10 + lVar5;
        lVar7 = FUN_00119da0(param_1,lVar5,4);
        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);
        if (iVar4 != 0) {
          uVar8 = dcgettext(0,"Unable to seek to start of dynamic information\n",5);
          error(uVar8);
          local_78 = 0;
          local_80 = (void *)0x0;
          goto LAB_001243c5;
        }
        local_80 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);
        if (local_80 == (void *)0x0) {
LAB_0012478c:
          local_78 = 0;
          goto LAB_001243c5;
        }
        if (local_78 == 0) goto LAB_001243c5;
        uVar16 = 0xffffffff;
        local_a0 = 0;
        do {
          uVar21 = *(ulong *)((long)local_80 + local_a0 * 8);
          if (uVar21 != 0) {
            if (uVar21 < local_70) goto LAB_00124278;
            if ((uVar16 < uVar21) || (uVar16 == 0xffffffff)) {
              uVar16 = uVar21;
            }
          }
          local_a0 = local_a0 + 1;
        } while (local_78 != local_a0);
        if (uVar16 == 0xffffffff) goto LAB_0012478c;
        local_78 = uVar16 - local_70;
        lVar7 = FUN_00119da0(param_1,lVar5 + (local_a0 + local_78) * 4,4);
        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar7 + DAT_001946b8,0);
        if (iVar4 != 0) {
LAB_001248c8:
          pcVar20 = "Unable to seek to start of dynamic information\n";
LAB_0012340c:
          uVar8 = dcgettext(0,pcVar20,5);
          error(uVar8);
          local_78 = 0;
          goto LAB_001243c5;
        }
        do {
          sVar6 = fread(&local_48,4,1,*(FILE **)(param_1 + 8));
          if (sVar6 != 1) {
            pcVar20 = "Failed to determine last chain length\n";
            goto LAB_0012340c;
          }
          if (local_78 == 0xffffffffffffffff) goto LAB_0012478c;
          local_78 = local_78 + 1;
          uVar16 = (*DAT_00196f88)(&local_48,4);
        } while ((uVar16 & 1) == 0);
        lVar5 = FUN_00119da0(param_1,lVar5 + local_a0 * 4,4);
        iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);
        if (iVar4 != 0) goto LAB_001248c8;
        local_68 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_78,4);
        if (local_68 == (void *)0x0) goto LAB_001243c5;
      }
      else {
LAB_00124393:
        uVar8 = dcgettext(0,pcVar20,5);
        error(uVar8);
        local_78 = 0;
        local_70 = 0;
        local_80 = (void *)0x0;
LAB_001243c5:
        free(local_80);
        if (DAT_00193480 != 0) goto LAB_00124278;
        local_68 = (void *)0x0;
        local_80 = (void *)0x0;
        local_a0 = 0;
      }
      if (DAT_00193580 != 0 || DAT_00193540 != 0) goto LAB_001235c8;
LAB_0012395b:
      if (DAT_0019349c != 0) goto LAB_00123c50;
      if (DAT_001934a0 == 0) goto LAB_00123620;
      if (DAT_00193480 == 0) {
LAB_001242fe:
        lVar5 = *(long *)(param_1 + 0x70);
        if (lVar5 != 0) goto LAB_00123c5d;
      }
LAB_00123987:
      pcVar20 = (char *)dcgettext(0,
                                  "\nDynamic symbol information is not available for displaying symbols.\n"
                                  ,5);
      printf(pcVar20);
      if (DAT_00193470 != 0) goto LAB_0012362e;
LAB_001239b8:
      if (local_a8 != (ulong *)0x0) {
LAB_001239c4:
        iVar4 = DAT_00193470;
        free(local_a8);
        free(__ptr_00);
LAB_001239d6:
        if ((iVar4 != 0) && (local_80 != (void *)0x0)) {
          pcVar20 = (char *)dcngettext(0,
                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu bucket):\n"
                                       ,
                                       "\nHistogram for `.gnu.hash\' bucket list length (total of %lu buckets):\n"
                                       ,local_a0,5);
          printf(pcVar20,local_a0);
          __ptr = (long *)calloc(local_a0,8);
          pcVar20 = "Out of memory allocating space for gnu histogram buckets\n";
          if (__ptr == (long *)0x0) goto LAB_00124267;
          pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);
          printf(pcVar20);
          if (local_a0 == 0) {
            puVar13 = (ulong *)calloc(1,8);
            if (puVar13 == (ulong *)0x0) goto LAB_00124253;
          }
          else {
            uVar21 = 0;
            uVar16 = 0;
            sVar6 = 0;
            do {
              while (lVar5 = *(long *)((long)local_80 + sVar6 * 8), lVar5 != 0) {
                if (lVar5 - local_70 < local_78) {
                  puVar13 = (ulong *)((long)local_68 + (lVar5 - local_70) * 8);
                  uVar17 = *puVar13;
                  uVar18 = (ulong)((uint)uVar17 & 1);
                  if ((uVar17 & 1) != 0) goto LAB_00123ae4;
                  uVar18 = (local_70 - lVar5) + local_78 + 1;
                  uVar17 = 1;
                  do {
                    uVar12 = uVar17 + 1;
                    if (uVar12 == uVar18) goto LAB_00123ae4;
                    puVar10 = puVar13 + uVar17;
                    uVar17 = uVar12;
                  } while ((*puVar10 & 1) == 0);
                  __ptr[sVar6] = uVar12;
                  if (uVar16 < uVar12) {
                    uVar16 = uVar12;
                  }
                }
                else {
                  uVar18 = 1;
LAB_00123ae4:
                  __ptr[sVar6] = uVar18;
                  uVar12 = uVar18;
                  if (uVar16 < uVar18) {
                    uVar16 = uVar18;
                  }
                }
                uVar21 = uVar21 + uVar12;
                sVar6 = sVar6 + 1;
                if (sVar6 == local_a0) goto LAB_00123afb;
              }
              sVar6 = sVar6 + 1;
            } while (sVar6 != local_a0);
LAB_00123afb:
            puVar13 = (ulong *)calloc(uVar16 + 1,8);
            if (puVar13 == (ulong *)0x0) {
LAB_00124253:
              free(__ptr);
              pcVar20 = "Out of memory allocating space for gnu histogram counts\n";
              goto LAB_00124267;
            }
            plVar14 = __ptr;
            do {
              lVar5 = *plVar14;
              plVar14 = plVar14 + 1;
              puVar13[lVar5] = puVar13[lVar5] + 1;
              dVar3 = ram0x0017c6b0;
            } while (__ptr + local_a0 != plVar14);
            printf("      0  %-10lu (%5.1f%%)\n",
                   ((double)*puVar13 * ram0x0017c6b0) / (double)(long)local_a0);
            if (uVar16 != 0) {
              local_e0 = (double)uVar21;
              uVar18 = 0;
              uVar21 = 1;
              do {
                uVar18 = uVar18 + puVar13[uVar21] * uVar21;
                printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",
                       ((double)puVar13[uVar21] * dVar3) / (double)(long)local_a0,
                       ((double)uVar18 * dVar3) / local_e0,uVar21);
                bVar23 = uVar16 != uVar21;
                uVar21 = uVar21 + 1;
              } while (bVar23);
            }
          }
          free(puVar13);
          free(__ptr);
          free(local_80);
          free(local_68);
        }
      }
    }
    uVar8 = 1;
  }
  else {
    local_98 = DAT_00193580;
    if (DAT_00193580 == 0) {
      local_b0 = 0;
      __ptr_00 = (void *)0x0;
      local_a8 = (ulong *)0x0;
LAB_001234aa:
      local_a0 = DAT_00193540;
      if (DAT_00193540 == 0) {
LAB_00123920:
        if (DAT_00193580 == 0) {
          local_78 = 0;
          local_70 = 0;
          local_68 = (void *)0x0;
          local_80 = (void *)0x0;
          local_a0 = 0;
          goto LAB_0012395b;
        }
      }
      else {
        if (DAT_00193470 != 0) goto LAB_001231f2;
        if (DAT_00193480 != 0) goto LAB_001234e0;
      }
LAB_001234ff:
      local_78 = 0;
      local_70 = 0;
      local_68 = (void *)0x0;
      local_80 = (void *)0x0;
      local_a0 = 0;
LAB_001235c8:
      if (DAT_001934a0 == 0) goto LAB_0012395b;
      if (DAT_00193480 != 0) {
        if ((DAT_00194690 == 0) || (DAT_00194678 == 0)) {
          if (DAT_0019349c != 0) goto LAB_00123c50;
          goto LAB_00123987;
        }
        if (DAT_00193580 != 0) {
          pcVar20 = (char *)dcgettext(0,"\nSymbol table for image:\n",5);
          printf(pcVar20);
          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";
          if (DAT_0019345c == 0) {
            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";
          }
          pcVar20 = (char *)dcgettext(0,pcVar20,5);
          printf(pcVar20);
          pvVar9 = (void *)FUN_0014c850(local_b0);
          sVar6 = 0;
          memset(pvVar9,0,local_b0);
          if (local_98 != 0) {
            do {
              for (uVar16 = local_a8[sVar6]; uVar16 != 0;
                  uVar16 = *(ulong *)((long)__ptr_00 + uVar16 * 8)) {
                FUN_00122f40(param_1,uVar16,sVar6);
                if ((local_b0 <= uVar16) || (*(char *)((long)pvVar9 + uVar16) != '\0')) {
                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);
                  error(uVar8);
                  break;
                }
                *(char *)((long)pvVar9 + uVar16) = '\x01';
              }
              sVar6 = sVar6 + 1;
            } while (local_98 != sVar6);
          }
          free(pvVar9);
        }
        if (DAT_00193540 != 0) {
          pcVar20 = (char *)dcgettext(0,"\nSymbol table of `.gnu.hash\' for image:\n",5);
          printf(pcVar20);
          pcVar20 = "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n";
          if (DAT_0019345c == 0) {
            pcVar20 = "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n";
          }
          sVar6 = 0;
          pcVar20 = (char *)dcgettext(0,pcVar20,5);
          printf(pcVar20);
          if (local_a0 != 0) {
            do {
              lVar5 = *(long *)((long)local_80 + sVar6 * 8);
              if (lVar5 != 0) {
                uVar16 = lVar5 - local_70;
                do {
                  FUN_00122f40(param_1,uVar16 + local_70,sVar6);
                  if (local_78 <= uVar16) break;
                  uVar16 = uVar16 + 1;
                } while ((*(byte *)((long)local_68 + uVar16 * 8 + -8) & 1) == 0);
              }
              sVar6 = sVar6 + 1;
            } while (sVar6 != local_a0);
          }
        }
        goto LAB_00123620;
      }
      if (DAT_0019349c == 0) goto LAB_001242fe;
LAB_00123c50:
      lVar5 = *(long *)(param_1 + 0x70);
      if (lVar5 == 0) {
        if (DAT_001934a0 != 0) goto LAB_00123987;
      }
      else {
LAB_00123c5d:
        if (*(int *)(param_1 + 100) != 0) {
          uVar19 = 0;
          do {
            iVar4 = *(int *)(lVar5 + 4);
            if (((iVar4 == 2) || (iVar4 == 0xb)) && ((DAT_001934a0 != 0 || (iVar4 != 2)))) {
              if (*(ulong *)(lVar5 + 0x38) == 0) {
                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);
                pcVar20 = (char *)dcgettext(0,"\nSymbol table \'%s\' has a sh_entsize of zero!\n",5)
                ;
                printf(pcVar20,uVar8);
              }
              else {
                uVar16 = *(ulong *)(lVar5 + 0x20) / *(ulong *)(lVar5 + 0x38);
                local_48 = uVar16;
                uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);
                pcVar20 = (char *)dcngettext(0,"\nSymbol table \'%s\' contains %lu entry:\n",
                                             "\nSymbol table \'%s\' contains %lu entries:\n",
                                             local_48,5);
                printf(pcVar20,uVar8,uVar16);
                pcVar20 = "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n";
                if (DAT_0019345c == 0) {
                  pcVar20 = "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n";
                }
                pcVar20 = (char *)dcgettext(0,pcVar20,5);
                printf(pcVar20);
                if (DAT_0019345c == 0) {
                  local_c0 = (void *)FUN_00114ea0(param_1,lVar5,&local_48);
                }
                else {
                  local_c0 = (void *)FUN_001149b0();
                }
                if (local_c0 != (void *)0x0) {
                  uVar2 = *(uint *)(lVar5 + 0x28);
                  if (uVar2 == *(uint *)(param_1 + 0x68)) {
                    local_f0 = *(void **)(param_1 + 0x80);
                    uVar16 = *(ulong *)(param_1 + 0x88);
                  }
                  else {
                    local_f0 = (void *)0x0;
                    uVar16 = 0;
                    if (uVar2 < *(uint *)(param_1 + 100)) {
                      lVar7 = (ulong)uVar2 * 0x50 + *(long *)(param_1 + 0x70);
                      uVar8 = dcgettext(0,"string table",5);
                      local_f0 = (void *)FUN_001144a0(0,param_1 + 8,param_1 + 0x10,
                                                      *(undefined8 *)(lVar7 + 0x18),1,
                                                      *(undefined8 *)(lVar7 + 0x20),uVar8);
                      if (local_f0 != (void *)0x0) {
                        uVar16 = *(ulong *)(lVar7 + 0x20);
                      }
                    }
                  }
                  if (local_48 != 0) {
                    uVar21 = 0;
                    puVar13 = (ulong *)((long)local_c0 + 0x10);
                    do {
                      printf("%6d: ",uVar21);
                      FUN_001116b0(puVar13[-2],6);
                      putc(0x20,stdout);
                      FUN_001116b0(puVar13[-1],2);
                      uVar8 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,(byte)puVar13[1] & 0xf);
                      printf(" %-7s",uVar8);
                      uVar8 = FUN_00118b60(param_1 + 0x1f,(byte)puVar13[1] >> 4);
                      printf(" %-6s",uVar8);
                      if (*(char *)(param_1 + 0x1f) == '\x06') {
                        uVar8 = FUN_00114270(*(undefined1 *)((long)puVar13 + 9));
                        printf(" %-7s",uVar8);
                      }
                      else {
                        bVar22 = *(byte *)((long)puVar13 + 9) & 3;
                        uVar8 = FUN_001141e0(bVar22);
                        printf(" %-7s",uVar8);
                        if (*(byte *)((long)puVar13 + 9) != bVar22) {
                          uVar8 = FUN_00122cb0(param_1,*(byte *)((long)puVar13 + 9) ^ bVar22);
                          printf(" [%s] ",uVar8);
                        }
                      }
                      uVar8 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar13 + 0xc));
                      printf(" %4s ",uVar8);
                      if (*puVar13 < uVar16) {
                        lVar7 = *puVar13 + (long)local_f0;
                      }
                      else {
                        lVar7 = dcgettext(0,"<corrupt>",5);
                      }
                      FUN_001122a0(0x19,lVar7);
                      lVar7 = FUN_0011d570(param_1,*(int *)(lVar5 + 4) == 0xb,local_f0,uVar16,uVar21
                                           ,puVar13,(long)puVar13 + 0xc,local_50,&local_52);
                      if (lVar7 != 0) {
                        if (local_50[0] == 0) {
                          printf("@%s (%d)",lVar7,(ulong)local_52);
                        }
                        else {
                          pcVar20 = "@@%s";
                          if (local_50[0] == 1) {
                            pcVar20 = "@%s";
                          }
                          printf(pcVar20,lVar7);
                        }
                      }
                      putc(10,stdout);
                      if (((((byte)((byte)puVar13[1] >> 4) == 0) &&
                           (uVar2 = *(uint *)(lVar5 + 0x2c), uVar2 <= (uint)uVar21)) &&
                          (*(short *)(param_1 + 0x52) != 8)) &&
                         (*(char *)(param_1 + 0x1f) != '\x06')) {
                        uVar8 = FUN_00113f30(param_1 + 0x80,param_1 + 0x88,lVar5);
                        uVar15 = dcgettext(0,
                                           "local symbol %u found at index >= %s\'s sh_info value of %u\n"
                                           ,5);
                        warn(uVar15,uVar21,uVar8,uVar2);
                      }
                      uVar21 = (ulong)((uint)uVar21 + 1);
                      puVar13 = puVar13 + 4;
                    } while (uVar21 < local_48);
                  }
                  free(local_c0);
                  if (*(void **)(param_1 + 0x80) != local_f0) {
                    free(local_f0);
                  }
                }
              }
            }
            uVar19 = uVar19 + 1;
            lVar5 = lVar5 + 0x50;
          } while (uVar19 < *(uint *)(param_1 + 100));
        }
      }
LAB_00123620:
      if (DAT_00193470 == 0) goto LAB_001239b8;
LAB_0012362e:
      iVar4 = DAT_00193470;
      if (local_a8 == (ulong *)0x0) goto LAB_001239d6;
      pcVar20 = (char *)dcngettext(0,"\nHistogram for bucket list length (total of %lu bucket):\n",
                                   "\nHistogram for bucket list length (total of %lu buckets):\n",
                                   local_98,5);
      printf(pcVar20,local_98);
      puVar13 = (ulong *)calloc(local_98,8);
      pcVar20 = "Out of memory allocating space for histogram buckets\n";
      if (puVar13 != (ulong *)0x0) {
        pvVar9 = (void *)FUN_0014c850(local_b0,1,5);
        memset(pvVar9,0,local_b0);
        pcVar20 = (char *)dcgettext(0," Length  Number     %% of total  Coverage\n",5);
        printf(pcVar20);
        if (local_98 == 0) {
          free(pvVar9);
          puVar10 = (ulong *)calloc(1,8);
          if (puVar10 == (ulong *)0x0) goto LAB_001247f5;
        }
        else {
          uVar16 = 0;
          uVar21 = 0;
          puVar10 = local_a8;
          puVar11 = puVar13;
          do {
            uVar18 = *puVar10;
            sVar6 = uVar21 + 1;
            if (uVar18 != 0) {
              uVar17 = *puVar11;
              lVar5 = uVar16 - uVar17;
              do {
                uVar17 = uVar17 + 1;
                uVar16 = lVar5 + uVar17;
                sVar6 = uVar21 + 1;
                if (uVar21 < uVar17) {
                  sVar6 = uVar21 + 2;
                  uVar21 = uVar21 + 1;
                }
                if ((local_b0 <= uVar18) || (*(char *)((long)pvVar9 + uVar18) != '\0')) {
                  *puVar11 = uVar17;
                  uVar8 = dcgettext(0,"histogram chain is corrupt\n",5);
                  error(uVar8);
                  goto LAB_001237a1;
                }
                *(char *)((long)pvVar9 + uVar18) = '\x01';
                uVar18 = *(ulong *)((long)__ptr_00 + uVar18 * 8);
              } while (uVar18 != 0);
              *puVar11 = uVar17;
            }
LAB_001237a1:
            puVar10 = puVar10 + 1;
            puVar11 = puVar11 + 1;
          } while (local_a8 + local_98 != puVar10);
          free(pvVar9);
          puVar10 = (ulong *)calloc(sVar6,8);
          if (puVar10 == (ulong *)0x0) {
LAB_001247f5:
            free(puVar13);
            pcVar20 = "Out of memory allocating space for histogram counts\n";
            goto LAB_00124267;
          }
          puVar11 = puVar13;
          do {
            uVar18 = *puVar11;
            puVar11 = puVar11 + 1;
            puVar10[uVar18] = puVar10[uVar18] + 1;
            dVar3 = ram0x0017c6b0;
          } while (puVar13 + local_98 != puVar11);
          printf("      0  %-10lu (%5.1f%%)\n",
                 ((double)*puVar10 * ram0x0017c6b0) / (double)(long)local_98);
          if (uVar21 != 0) {
            local_e0 = (double)uVar16;
            uVar18 = 0;
            uVar16 = 1;
            do {
              uVar18 = uVar18 + puVar10[uVar16] * uVar16;
              printf("%7lu  %-10lu (%5.1f%%)    %5.1f%%\n",
                     ((double)puVar10[uVar16] * dVar3) / (double)(long)local_98,
                     ((double)uVar18 * dVar3) / local_e0,uVar16);
              bVar23 = uVar21 != uVar16;
              uVar16 = uVar16 + 1;
            } while (bVar23);
          }
        }
        free(puVar10);
        free(puVar13);
        goto LAB_001239c4;
      }
LAB_00124267:
      uVar8 = dcgettext(0,pcVar20,5);
      error(uVar8);
    }
    else {
      if (DAT_00193470 == 0) {
        if (DAT_00193480 != 0) {
          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_00124120;
          local_a0 = DAT_00193540;
          if (DAT_00193540 == 0) {
            local_b0 = 0;
            goto LAB_0012359b;
          }
          local_a8 = (ulong *)0x0;
          __ptr_00 = (void *)0x0;
          local_98 = 0;
          local_b0 = 0;
LAB_001234e0:
          DAT_00193540 = local_a0;
          if ((DAT_0019349c == 0) && (DAT_00194690 != 0)) goto LAB_001231f2;
          goto LAB_001234ff;
        }
        local_b0 = DAT_00193540;
        if (DAT_00193540 != 0) {
          local_a8 = (ulong *)0x0;
          __ptr_00 = (void *)0x0;
          local_98 = 0;
          local_b0 = 0;
          goto LAB_001234ff;
        }
        local_a0 = 0;
LAB_0012359b:
        local_70 = 0;
        local_78 = 0;
        local_98 = 0;
        __ptr_00 = (void *)0x0;
        local_68 = (void *)0x0;
        local_80 = (void *)0x0;
        local_a8 = (ulong *)0x0;
        goto LAB_001235c8;
      }
LAB_00124120:
      sVar1 = *(short *)(param_1 + 0x52);
      if ((sVar1 == -0x6fda || sVar1 == 0x16) || (uVar19 = 4, sVar1 == -0x5c70)) {
        uVar19 = (uint)(*(char *)(param_1 + 0x1c) == '\x02') * 4 + 4;
      }
      lVar5 = FUN_00119da0(param_1,DAT_00193580,0x10);
      iVar4 = fseek(*(FILE **)(param_1 + 8),lVar5 + DAT_001946b8,0);
      pcVar20 = "Unable to seek to start of dynamic information\n";
      if (iVar4 == 0) {
        sVar6 = fread(local_50,(ulong)uVar19,1,*(FILE **)(param_1 + 8));
        if (sVar6 != 1) {
          pcVar20 = "Failed to read in number of buckets\n";
          goto LAB_001241ba;
        }
        sVar6 = fread(&local_48,(ulong)uVar19,1,*(FILE **)(param_1 + 8));
        pcVar20 = "Failed to read in number of chains\n";
        if (sVar6 != 1) goto LAB_001241ba;
        local_98 = (*DAT_00196f88)(local_50,uVar19,5);
        local_b0 = (*DAT_00196f88)(&local_48,uVar19);
        local_a8 = (ulong *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_98,uVar19
                                        );
        __ptr_00 = (void *)FUN_00121f00(param_1 + 8,*(undefined8 *)(param_1 + 0x10),local_b0,uVar19)
        ;
        if ((local_a8 != (ulong *)0x0) && (__ptr_00 != (void *)0x0)) goto LAB_001234aa;
      }
      else {
LAB_001241ba:
        __ptr_00 = (void *)0x0;
        uVar8 = dcgettext(0,pcVar20,5);
        error(uVar8);
        local_a8 = (ulong *)0x0;
      }
      if (DAT_00193480 == 0) {
        free(local_a8);
        free(__ptr_00);
        local_a8 = (ulong *)0x0;
        local_b0 = 0;
        local_98 = 0;
        __ptr_00 = (void *)0x0;
        goto LAB_001234aa;
      }
    }
LAB_00124278:
    uVar8 = 0;
  }
  return uVar8;
}

