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

bfd_boolean __regparm3 process_version_sections(Filedata *filedata)

{
  int *piVar1;
  Filedata *filedata_1;
  ushort uVar2;
  FILE *pFVar3;
  int iVar4;
  Elf_Internal_Shdr *pEVar5;
  undefined4 uVar6;
  bool bVar7;
  bfd_vma bVar8;
  bfd_size_type bVar9;
  undefined *puVar10;
  undefined *puVar11;
  char *pcVar12;
  void *__ptr;
  char *pcVar13;
  char *pcVar14;
  wchar_t offset;
  void *pvVar15;
  elf_vma eVar25;
  elf_vma eVar29;
  elf_vma eVar30;
  void *__ptr_00;
  elf_vma eVar26;
  elf_vma eVar27;
  char *pcVar16;
  size_t sVar17;
  elf_vma eVar28;
  int iVar18;
  Elf_Internal_Sym *pEVar19;
  uchar *puVar20;
  uint uVar21;
  FILE *__stream;
  ulong offset_00;
  uint uVar22;
  uchar *puVar23;
  undefined4 uVar24;
  Elf_External_Vernaux *local_c4;
  int local_bc;
  wchar_t local_b8;
  uint local_a4;
  wchar_t local_9c;
  Filedata *local_98;
  uint local_94;
  uint local_8c;
  Elf_Internal_Sym *local_88;
  uint local_80;
  ulong num_syms;
  Elf_External_Verneed evn;
  Elf_External_Vernaux evna;
  uchar local_20 [12];
  undefined4 uStack_14;
  
  puVar10 = PTR_stdout_000b3fd8;
  uStack_14 = 0x29239;
  if (do_version != 0) {
    local_98 = (Filedata *)filedata->section_headers;
    bVar7 = false;
    uVar21 = (filedata->file_header).e_shnum;
    local_80 = 0;
    if (uVar21 != 0) {
      do {
        pFVar3 = local_98->handle;
        if (pFVar3 == (FILE *)0x6ffffffe) {
          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);
          pcVar12 = printable_section_name
                              ((Filedata *)&filedata->string_table,
                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);
          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",
                                       "\nVersion needs section \'%s\' contains %u entries:\n",
                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)
          ;
          printf(pcVar13,pcVar12,uVar6);
          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);
          printf(pcVar12);
          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,
                  *(undefined4 *)((local_98->file_header).e_ident + 4));
          pcVar12 = printable_section_name_from_index
                              (filedata,(ulong)(local_98->file_header).e_phoff);
          bVar9 = (local_98->file_header).e_phoff;
          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);
          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
          printf(pcVar13,uVar6,(int)bVar9,pcVar12);
          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);
          local_88 = (Elf_Internal_Sym *)
                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1
                              ,(local_98->file_header).e_entry,pcVar12);
          if (local_88 == (Elf_Internal_Sym *)0x0) {
LAB_00029604:
            bVar7 = true;
            uVar21 = (filedata->file_header).e_shnum;
          }
          else {
            iVar18 = (int)(local_98->file_header).e_entry;
            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);
            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);
            if (uVar21 != 0) {
              local_8c = 0;
              if (puVar23 < &local_88->st_name) {
LAB_00029ea6:
                if (uVar21 <= local_8c) goto LAB_00029a35;
              }
              else {
                local_94 = 0;
                pEVar19 = local_88;
                do {
                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);
                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);
                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);
                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);
                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);
                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);
                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);
                  if ((dynamic_strings == (char *)0x0) ||
                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {
                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);
                    printf(pcVar12,(undefined4)(elf_vma)eVar28);
                  }
                  else {
                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;
                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);
                    printf(pcVar12,pcVar13);
                  }
                  uVar21 = (uint)(ushort)(elf_vma)eVar27;
                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);
                  printf(pcVar12,uVar21);
                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);
                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {
                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)
                    goto LAB_00029a35;
                    break;
                  }
                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);
                  local_bc = (int)(elf_vma)eVar25 + local_94;
                  if ((elf_vma)eVar27 != 0) {
                    if (puVar20 + 0x10 <= puVar23) {
                      local_c4 = (Elf_External_Vernaux *)0x0;
                      do {
                        (*byte_get)(puVar20,4);
                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);
                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);
                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);
                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);
                        pcVar12 = dynamic_strings;
                        if ((dynamic_strings == (char *)0x0) ||
                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {
                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);
                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);
                        }
                        else {
                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);
                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);
                        }
                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);
                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);
                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);
                        if ((uint)(elf_vma)eVar30 < 0x10) {
                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||
                             ((elf_vma)eVar30 != 0)) {
                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);
                            warn(pcVar12,(undefined4)(elf_vma)eVar30);
                            goto LAB_00029dda;
                          }
                        }
                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;
                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);
                        puVar20 = puVar20 + (int)(elf_vma)eVar30;
                        local_bc = local_bc + (int)(elf_vma)eVar30;
                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;
                      } while (puVar20 + 0x10 <= puVar23);
                    }
                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)
                    ;
                    warn(pcVar12);
                  }
LAB_00029dda:
                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);
                  if ((uint)(elf_vma)eVar29 < 0x10) {
                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {
                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);
                      warn(pcVar12,(undefined4)(elf_vma)eVar29);
                      goto LAB_00029a35;
                    }
                  }
                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;
                  local_8c = local_8c + 1;
                  local_94 = local_94 + (int)(elf_vma)eVar29;
                  if (uVar21 <= local_8c) goto LAB_00029a35;
                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);
                } while (&pEVar19->st_name <= puVar23);
              }
              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);
              warn(pcVar12);
            }
LAB_00029a35:
            free(local_88);
            bVar7 = true;
            uVar21 = (filedata->file_header).e_shnum;
          }
        }
        else if (pFVar3 == (FILE *)0x6fffffff) {
          uVar22 = (uint)(local_98->file_header).e_phoff;
          if ((uVar22 < uVar21) &&
             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),
             (uint)(filedata_1->file_header).e_phoff < uVar21)) {
            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);
            bVar8 = (local_98->file_header).e_entry;
            if (is_32bit_elf == 0) {
              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);
            }
            else {
              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);
            }
            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;
            iVar4 = (int)(filedata_1->file_header).e_phoff;
            pEVar5 = filedata->section_headers;
            pcVar12 = (char *)dcgettext(0,"version string table",5);
            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,
                             pEVar5[iVar4].sh_size,pcVar12);
            if (__ptr != (void *)0x0) {
              uVar21 = (uint)bVar8 >> 1;
              uVar22 = uVar21 | iVar18 << 0x1f;
              pcVar12 = printable_section_name
                                  ((Filedata *)&filedata->string_table,
                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);
              pcVar13 = (char *)dcngettext(0,
                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",
                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"
                                           ,uVar22,5);
              printf(pcVar13,pcVar12,uVar22);
              pcVar12 = (char *)dcgettext(0," Addr: ",5);
              printf(pcVar12);
              puVar11 = PTR_stdout_000b3fd8;
              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",
                      *(undefined4 *)(local_98->file_header).e_ident,
                      *(undefined4 *)((local_98->file_header).e_ident + 4));
              pcVar12 = (char *)0x29427;
              pcVar13 = printable_section_name
                                  ((Filedata *)&filedata->string_table,
                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);
              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);
              bVar9 = (local_98->file_header).e_phoff;
              uVar24 = 5;
              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");
              printf(pcVar14,uVar6,(int)bVar9,pcVar13);
              uVar21 = uVar21 * 2;
              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));
              pcVar13 = (char *)dcgettext(0,"version symbol data",5);
              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);
              if (pvVar15 == (void *)0x0) {
                free(__ptr);
                free(local_88);
                bVar7 = true;
                uVar21 = (filedata->file_header).e_shnum;
                goto LAB_0002929c;
              }
              __ptr_00 = cmalloc(uVar22,2);
              if (uVar22 == 0) {
                free(pvVar15);
              }
              else {
                do {
                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);
                    /* WARNING: Store size is inaccurate */
                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;
                  uVar21 = uVar21 - 2;
                } while (uVar21 != 0);
                free(pvVar15);
                local_a4 = 4;
                do {
                  uVar21 = local_a4 - 4;
                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);
                  printf("  %03x:",uVar21);
                  do {
                    if (uVar22 <= uVar21) break;
                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);
                    if (uVar2 == 0) {
                      __stream = *(FILE **)puVar11;
                      pcVar14 = "   0 (*local*)    ";
LAB_0002a221:
                      pcVar14 = (char *)dcgettext(0,pcVar14,5);
                      fputs(pcVar14,__stream);
                    }
                    else {
                      if (uVar2 == 1) {
                        __stream = *(FILE **)puVar11;
                        pcVar14 = "   1 (*global*)   ";
                        goto LAB_0002a221;
                      }
                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;
                      local_8c = printf("%4x%c",uVar2 & 0x7fff);
                      if (uVar21 < num_syms) {
                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {
                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&
                             (pcVar14 = (char *)0x0,
                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {
LAB_0002a101:
                            local_c4 = &evna;
                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));
                            while( true ) {
                              pcVar16 = (char *)dcgettext(0,"version def",5);
                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);
                              pcVar16 = pcVar14;
                              if (pvVar15 == (void *)0x0) break;
                              eVar26._0_4_ = (*byte_get)(local_20,4);
                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);
                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==
                                  (elf_vma)eVar27) {
                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);
                                pcVar16 = (char *)dcgettext(0,"version def aux",5);
                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1
                                                   ,pcVar16);
                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;
                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);
                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);
                                pcVar16 = pcVar13;
                                if (*piVar1 != 0 ||
                                    (uint)-*piVar1 <
                                    (uint)((uint)(elf_vma)eVar26 <
                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {
                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {
                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);
                                  }
                                  else {
                                    pcVar16 = (char *)dcgettext(0,"*both*",5);
                                  }
                                }
                                break;
                              }
                              local_b8 = (int)(elf_vma)eVar26 + local_b8;
                              if ((elf_vma)eVar26 == 0) break;
                            }
LAB_0002a1b1:
                            if (pcVar16 != (char *)0x0) {
                              sVar17 = strlen(pcVar16);
                              pcVar12 = ")";
                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);
                              local_8c = local_8c + iVar18;
                            }
                          }
                        }
                        else {
                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));
                          do {
                            iVar18 = 5;
                            pcVar14 = (char *)dcgettext(0,"version need");
                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);
                            if (pvVar15 == (void *)0x0) {
                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||
                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))
                              goto LAB_0002a1e4;
                              pcVar14 = (char *)0x0;
                              goto LAB_0002a101;
                            }
                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);
                            offset_00 = (int)(elf_vma)eVar26 + local_9c;
                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);
                            do {
                              iVar18 = 5;
                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");
                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);
                              if (pvVar15 == (void *)0x0) {
                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {
LAB_0002a449:
                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);
                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);
                                  pcVar14 = pcVar13;
                                  if (*piVar1 != 0 ||
                                      (uint)-*piVar1 <
                                      (uint)((uint)(elf_vma)eVar26 <
                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {
                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);
                                  }
                                  pcVar16 = pcVar14;
                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||
                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))
                                  goto LAB_0002a1b1;
                                  goto LAB_0002a101;
                                }
                                break;
                              }
                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);
                              offset_00 = offset_00 + (int)(elf_vma)eVar27;
                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);
                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==
                                  (elf_vma)eVar28) goto LAB_0002a449;
                            } while ((elf_vma)eVar27 != 0);
                            local_9c = local_9c + (int)(elf_vma)eVar26;
                          } while ((elf_vma)eVar26 != 0);
                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&
                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {
                            pcVar14 = (char *)0x0;
                            goto LAB_0002a101;
                          }
                        }
LAB_0002a1e4:
                        if ((int)local_8c < 0x12) {
                          printf("%*c",0x12 - local_8c,0x20);
                        }
                      }
                      else {
                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);
                        warn(pcVar14);
                      }
                    }
LAB_0002a235:
                    uVar21 = uVar21 + 1;
                  } while (local_a4 != uVar21);
                  putc(10,*(FILE **)puVar11);
                  bVar7 = local_a4 < uVar22;
                  local_a4 = local_a4 + 4;
                } while (bVar7);
              }
              free(__ptr_00);
              free(__ptr);
            }
            goto LAB_00029a35;
          }
        }
        else if (pFVar3 == (FILE *)0x6ffffffd) {
          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);
          pcVar12 = printable_section_name
                              ((Filedata *)&filedata->string_table,
                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);
          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",
                                       "\nVersion definition section \'%s\' contains %u entries:\n",
                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)
          ;
          printf(pcVar13,pcVar12,uVar6);
          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);
          printf(pcVar12);
          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",
                  *(undefined4 *)(local_98->file_header).e_ident,
                  *(undefined4 *)((local_98->file_header).e_ident + 4));
          pcVar12 = printable_section_name_from_index
                              (filedata,(ulong)(local_98->file_header).e_phoff);
          bVar9 = (local_98->file_header).e_phoff;
          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);
          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
          printf(pcVar13,uVar6,(int)bVar9,pcVar12);
          pcVar12 = (char *)dcgettext(0,"version definition section",5);
          local_88 = (Elf_Internal_Sym *)
                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1
                              ,(local_98->file_header).e_entry,pcVar12);
          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;
          iVar18 = (int)(local_98->file_header).e_entry;
          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);
          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);
          if (uVar21 != 0) {
            if (puVar23 < &local_88->st_info) {
              local_94 = 0;
LAB_00029a9e:
              if (uVar21 <= local_94) goto LAB_00029a35;
            }
            else {
              local_94 = 0;
              local_9c = 0;
              pEVar19 = local_88;
              do {
                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);
                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);
                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);
                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);
                (*byte_get)((uchar *)&pEVar19->st_size,4);
                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);
                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);
                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);
                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);
                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);
                uVar21 = (uint)(ushort)(elf_vma)eVar25;
                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);
                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);
                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);
                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||
                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),
                   puVar23 < puVar20 + 8)) {
                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)
                  goto LAB_00029a35;
                  break;
                }
                pcVar12 = (char *)(*byte_get)(puVar20,4);
                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);
                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {
                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);
                }
                else {
                  pcVar12 = pcVar12 + (int)dynamic_strings;
                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);
                }
                uVar22 = 1;
                printf(pcVar13,pcVar12);
                local_bc = (int)(elf_vma)eVar29 + local_9c;
                if (1 < (ushort)(elf_vma)eVar25) {
                  do {
                    if (7 < (uint)(elf_vma)eVar27) {
                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))
                      goto LAB_00029912;
LAB_0002999f:
                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);
                      printf(pcVar12);
                      break;
                    }
                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {
                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);
                      warn(pcVar12,(undefined4)(elf_vma)eVar27);
                      break;
                    }
LAB_00029912:
                    puVar20 = puVar20 + (int)(elf_vma)eVar27;
                    local_bc = local_bc + (int)(elf_vma)eVar27;
                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;
                    eVar28._0_4_ = (*byte_get)(puVar20,4);
                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);
                    pcVar12 = dynamic_strings;
                    if ((dynamic_strings == (char *)0x0) ||
                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {
                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);
                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);
                    }
                    else {
                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);
                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);
                    }
                    uVar22 = uVar22 + 1;
                  } while (uVar21 != uVar22);
                }
                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);
                if ((uint)(elf_vma)eVar30 < 0x14) {
                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {
                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);
                    warn(pcVar12,(undefined4)(elf_vma)eVar30);
                    goto LAB_00029a35;
                  }
                }
                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;
                local_94 = local_94 + 1;
                local_9c = local_9c + (int)(elf_vma)eVar30;
                if (uVar21 <= local_94) goto LAB_00029a35;
                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);
              } while (&pEVar19->st_info <= puVar23);
            }
            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);
            printf(pcVar12);
          }
          goto LAB_00029a35;
        }
LAB_0002929c:
        local_80 = local_80 + 1;
        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;
      } while (local_80 < uVar21);
      if (bVar7) {
        return 1;
      }
    }
    pcVar12 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);
    printf(pcVar12);
  }
  return 1;
}



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

undefined4 __regparm3 FUN_00029230(int param_1)

{
  int iVar1;
  bool bVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined2 uVar5;
  ushort uVar6;
  short sVar7;
  undefined4 uVar8;
  void *pvVar9;
  char *pcVar10;
  undefined4 uVar11;
  void *__ptr;
  undefined4 uVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  void *__ptr_00;
  size_t sVar17;
  int iVar18;
  uint uVar19;
  char *__s;
  uint uVar20;
  int iVar21;
  char *pcVar22;
  FILE *__stream;
  uint uVar23;
  uint uVar24;
  uint local_c4;
  int local_bc;
  uint local_a4;
  int local_9c;
  int local_98;
  uint local_94;
  uint local_8c;
  void *local_88;
  uint local_80;
  uint local_44;
  undefined1 local_40 [8];
  undefined1 local_38 [4];
  undefined1 local_34 [8];
  undefined1 local_2c [2];
  undefined1 local_2a [2];
  undefined1 local_28 [4];
  undefined1 local_24 [4];
  undefined1 local_20 [12];
  undefined4 uStack_14;
  
  puVar3 = PTR_stdout_000b3fd8;
  uStack_14 = 0x29239;
  if (DAT_000b633c != 0) {
    local_98 = *(int *)(param_1 + 0x5c);
    bVar2 = false;
    uVar20 = *(uint *)(param_1 + 0x54);
    local_80 = 0;
    if (uVar20 != 0) {
      do {
        iVar1 = *(int *)(local_98 + 4);
        if (iVar1 == 0x6ffffffe) {
          uVar8 = *(undefined4 *)(local_98 + 0x2c);
          uVar12 = FUN_00022190();
          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",
                                       "\nVersion needs section \'%s\' contains %u entries:\n",
                                       *(undefined4 *)(local_98 + 0x2c),5);
          printf(pcVar10,uVar12,uVar8);
          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);
          printf(pcVar10);
          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),
                  *(undefined4 *)(local_98 + 0x14));
          uVar11 = FUN_00023d10();
          uVar8 = *(undefined4 *)(local_98 + 0x28);
          uVar12 = *(undefined4 *)(local_98 + 0x18);
          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
          printf(pcVar10,uVar12,uVar8,uVar11);
          uVar8 = dcgettext(0,"Version Needs section",5);
          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),
                                          *(undefined4 *)(local_98 + 0x24),uVar8);
          if (local_88 == (void *)0x0) {
LAB_00029604:
            bVar2 = true;
            uVar20 = *(uint *)(param_1 + 0x54);
          }
          else {
            iVar1 = *(int *)(local_98 + 0x20);
            uVar20 = *(uint *)(local_98 + 0x2c);
            uVar23 = (int)local_88 + iVar1;
            if (uVar20 != 0) {
              local_8c = 0;
              if (uVar23 < (int)local_88 + 0x10U) {
LAB_00029ea6:
                if (uVar20 <= local_8c) goto LAB_00029a35;
              }
              else {
                local_94 = 0;
                pvVar9 = local_88;
                do {
                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);
                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);
                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);
                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);
                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);
                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);
                  printf(pcVar10,local_94,uVar20 & 0xffff);
                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {
                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);
                    printf(pcVar10,uVar19);
                  }
                  else {
                    iVar21 = uVar19 + DAT_000b7538;
                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);
                    printf(pcVar10,iVar21);
                  }
                  uVar20 = (uint)uVar6;
                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);
                  printf(pcVar10,uVar20);
                  uVar19 = iVar1 - local_94;
                  if (uVar19 < uVar13) {
                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;
                    break;
                  }
                  iVar21 = (int)pvVar9 + uVar13;
                  local_bc = uVar13 + local_94;
                  if (uVar6 != 0) {
                    if (iVar21 + 0x10U <= uVar23) {
                      local_c4 = 0;
                      do {
                        (*DAT_000b9dd8)(iVar21,4);
                        (*DAT_000b9dd8)(iVar21 + 4,2);
                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);
                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);
                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);
                        iVar18 = DAT_000b7538;
                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {
                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);
                          printf(pcVar10,local_bc,uVar15);
                        }
                        else {
                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);
                          printf(pcVar10,local_bc,iVar18 + uVar15);
                        }
                        uVar8 = FUN_0001fa80();
                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);
                        printf(pcVar10,uVar8,uVar13 & 0xffff);
                        if (uVar16 < 0x10) {
                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {
                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);
                            warn(uVar8,uVar16);
                            goto LAB_00029dda;
                          }
                        }
                        else if (uVar23 - iVar21 < uVar16) break;
                        local_c4 = local_c4 + 1;
                        iVar21 = iVar21 + uVar16;
                        local_bc = local_bc + uVar16;
                        if (uVar20 == local_c4) goto LAB_00029dda;
                      } while (iVar21 + 0x10U <= uVar23);
                    }
                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);
                    warn(uVar8);
                  }
LAB_00029dda:
                  uVar20 = *(uint *)(local_98 + 0x2c);
                  if (uVar14 < 0x10) {
                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {
                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);
                      warn(uVar8,uVar14);
                      goto LAB_00029a35;
                    }
                  }
                  else if (uVar19 < uVar14) goto LAB_00029ea6;
                  local_8c = local_8c + 1;
                  local_94 = local_94 + uVar14;
                  if (uVar20 <= local_8c) goto LAB_00029a35;
                  pvVar9 = (void *)((int)local_88 + local_94);
                } while ((int)pvVar9 + 0x10U <= uVar23);
              }
              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);
              warn(uVar8);
            }
LAB_00029a35:
            free(local_88);
            bVar2 = true;
            uVar20 = *(uint *)(param_1 + 0x54);
          }
        }
        else if (iVar1 == 0x6fffffff) {
          if ((*(uint *)(local_98 + 0x28) < uVar20) &&
             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,
             *(uint *)(iVar1 + 0x28) < uVar20)) {
            iVar21 = *(int *)(local_98 + 0x24);
            uVar20 = *(uint *)(local_98 + 0x20);
            if (DAT_000b6324 == 0) {
              local_88 = (void *)FUN_00022830();
            }
            else {
              local_88 = (void *)FUN_000222e0();
            }
            if (local_88 == (void *)0x0) goto LAB_00029604;
            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;
            uVar8 = dcgettext(0,"version string table",5);
            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),
                                          *(undefined4 *)(iVar1 + 0x24),uVar8);
            if (pvVar9 != (void *)0x0) {
              uVar20 = uVar20 >> 1;
              uVar23 = uVar20 | iVar21 << 0x1f;
              uVar8 = FUN_00022190();
              pcVar10 = (char *)dcngettext(0,
                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",
                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"
                                           ,uVar23,5);
              printf(pcVar10,uVar8,uVar23);
              pcVar10 = (char *)dcgettext(0," Addr: ",5);
              printf(pcVar10);
              puVar4 = PTR_stdout_000b3fd8;
              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),
                      *(undefined4 *)(local_98 + 0x14));
              uVar11 = FUN_00022190();
              uVar8 = *(undefined4 *)(local_98 + 0x18);
              uVar12 = *(undefined4 *)(local_98 + 0x28);
              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
              printf(pcVar10,uVar8,uVar12,uVar11);
              iVar21 = uVar20 * 2;
              FUN_00026dc0(iVar21,0);
              uVar8 = dcgettext(0,"version symbol data",5);
              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);
              if (__ptr == (void *)0x0) {
                free(pvVar9);
                free(local_88);
                bVar2 = true;
                uVar20 = *(uint *)(param_1 + 0x54);
                goto LAB_0002929c;
              }
              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);
              if (uVar23 == 0) {
                free(__ptr);
              }
              else {
                do {
                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);
                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;
                  iVar21 = iVar21 + -2;
                } while (iVar21 != 0);
                free(__ptr);
                local_a4 = 4;
                do {
                  uVar20 = local_a4 - 4;
                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);
                  printf("  %03x:",uVar20);
                  do {
                    if (uVar23 <= uVar20) break;
                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);
                    if (uVar6 == 0) {
                      __stream = *(FILE **)puVar4;
                      pcVar22 = "   0 (*local*)    ";
LAB_0002a221:
                      pcVar22 = (char *)dcgettext(0,pcVar22,5);
                      fputs(pcVar22,__stream);
                    }
                    else {
                      if (uVar6 == 1) {
                        __stream = *(FILE **)puVar4;
                        pcVar22 = "   1 (*global*)   ";
                        goto LAB_0002a221;
                      }
                      local_8c = printf("%4x%c",uVar6 & 0x7fff,
                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);
                      if (uVar20 < local_44) {
                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {
                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&
                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {
LAB_0002a101:
                            FUN_00026dc0(0x14,0);
                            while( true ) {
                              uVar8 = dcgettext(0,"version def",5);
                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);
                              __s = pcVar22;
                              if (iVar21 == 0) break;
                              iVar21 = (*DAT_000b9dd8)(local_20,4);
                              uVar6 = (*DAT_000b9dd8)(local_2c,2);
                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {
                                (*DAT_000b9dd8)(local_24,4);
                                uVar8 = dcgettext(0,"version def aux",5);
                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);
                                if (iVar21 == 0) goto LAB_0002a235;
                                uVar19 = (*DAT_000b9dd8)(local_40,4);
                                __s = pcVar10;
                                if (*(int *)(iVar1 + 0x24) != 0 ||
                                    (uint)-*(int *)(iVar1 + 0x24) <
                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {
                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {
                                    __s = (char *)((int)pvVar9 + uVar19);
                                  }
                                  else {
                                    __s = (char *)dcgettext(0,"*both*",5);
                                  }
                                }
                                break;
                              }
                              if (iVar21 == 0) break;
                            }
LAB_0002a1b1:
                            if (__s != (char *)0x0) {
                              sVar17 = strlen(__s);
                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");
                              local_8c = local_8c + iVar21;
                            }
                          }
                        }
                        else {
                          FUN_00026dc0(0x10,0);
                          do {
                            uVar8 = dcgettext(0,"version need",5);
                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);
                            if (iVar21 == 0) {
                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||
                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;
                              pcVar22 = (char *)0x0;
                              goto LAB_0002a101;
                            }
                            (*DAT_000b9dd8)(local_38,4);
                            iVar21 = (*DAT_000b9dd8)(local_34,4);
                            do {
                              uVar8 = dcgettext(0,"version need aux (2)",5);
                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);
                              if (iVar18 == 0) {
                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {
LAB_0002a449:
                                  uVar19 = (*DAT_000b9dd8)(local_28,4);
                                  pcVar22 = pcVar10;
                                  if (*(int *)(iVar1 + 0x24) != 0 ||
                                      (uint)-*(int *)(iVar1 + 0x24) <
                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {
                                    pcVar22 = (char *)((int)pvVar9 + uVar19);
                                  }
                                  __s = pcVar22;
                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||
                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;
                                  goto LAB_0002a101;
                                }
                                break;
                              }
                              iVar18 = (*DAT_000b9dd8)(local_24,4);
                              sVar7 = (*DAT_000b9dd8)(local_2a,2);
                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)
                              goto LAB_0002a449;
                            } while (iVar18 != 0);
                          } while (iVar21 != 0);
                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&
                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {
                            pcVar22 = (char *)0x0;
                            goto LAB_0002a101;
                          }
                        }
LAB_0002a1e4:
                        if ((int)local_8c < 0x12) {
                          printf("%*c",0x12 - local_8c,0x20);
                        }
                      }
                      else {
                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);
                        warn(uVar8);
                      }
                    }
LAB_0002a235:
                    uVar20 = uVar20 + 1;
                  } while (local_a4 != uVar20);
                  putc(10,*(FILE **)puVar4);
                  bVar2 = local_a4 < uVar23;
                  local_a4 = local_a4 + 4;
                } while (bVar2);
              }
              free(__ptr_00);
              free(pvVar9);
            }
            goto LAB_00029a35;
          }
        }
        else if (iVar1 == 0x6ffffffd) {
          uVar8 = *(undefined4 *)(local_98 + 0x2c);
          uVar12 = FUN_00022190();
          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",
                                       "\nVersion definition section \'%s\' contains %u entries:\n",
                                       *(undefined4 *)(local_98 + 0x2c),5);
          printf(pcVar10,uVar12,uVar8);
          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);
          printf(pcVar10);
          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),
                  *(undefined4 *)(local_98 + 0x14));
          uVar11 = FUN_00023d10();
          uVar8 = *(undefined4 *)(local_98 + 0x28);
          uVar12 = *(undefined4 *)(local_98 + 0x18);
          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
          printf(pcVar10,uVar12,uVar8,uVar11);
          uVar8 = dcgettext(0,"version definition section",5);
          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),
                                          *(undefined4 *)(local_98 + 0x24),uVar8);
          if (local_88 == (void *)0x0) goto LAB_00029604;
          iVar1 = *(int *)(local_98 + 0x20);
          uVar20 = *(uint *)(local_98 + 0x2c);
          uVar23 = (int)local_88 + iVar1;
          if (uVar20 != 0) {
            if (uVar23 < (int)local_88 + 0x14U) {
              local_94 = 0;
LAB_00029a9e:
              if (uVar20 <= local_94) goto LAB_00029a35;
            }
            else {
              local_94 = 0;
              local_9c = 0;
              pvVar9 = local_88;
              do {
                uVar20 = (*DAT_000b9dd8)(pvVar9,2);
                (*DAT_000b9dd8)((int)pvVar9 + 2,2);
                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);
                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);
                (*DAT_000b9dd8)((int)pvVar9 + 8,4);
                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);
                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);
                uVar8 = FUN_0001fa80();
                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);
                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);
                uVar20 = (uint)uVar6;
                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);
                printf(pcVar10,uVar19 & 0xffff,uVar20);
                uVar19 = iVar1 - local_9c;
                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {
                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;
                  break;
                }
                uVar15 = (*DAT_000b9dd8)(iVar21,4);
                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);
                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {
                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);
                }
                else {
                  uVar15 = uVar15 + DAT_000b7538;
                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);
                }
                uVar24 = 1;
                printf(pcVar10,uVar15);
                local_bc = uVar13 + local_9c;
                if (1 < uVar6) {
                  do {
                    if (7 < uVar16) {
                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;
LAB_0002999f:
                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);
                      printf(pcVar10);
                      break;
                    }
                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {
                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);
                      warn(uVar8,uVar16);
                      break;
                    }
LAB_00029912:
                    iVar21 = iVar21 + uVar16;
                    local_bc = local_bc + uVar16;
                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;
                    uVar13 = (*DAT_000b9dd8)(iVar21,4);
                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);
                    iVar18 = DAT_000b7538;
                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {
                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);
                      printf(pcVar10,local_bc,uVar24,uVar13);
                    }
                    else {
                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);
                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);
                    }
                    uVar24 = uVar24 + 1;
                  } while (uVar20 != uVar24);
                }
                uVar20 = *(uint *)(local_98 + 0x2c);
                if (uVar14 < 0x14) {
                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {
                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);
                    warn(uVar8,uVar14);
                    goto LAB_00029a35;
                  }
                }
                else if (uVar19 < uVar14) goto LAB_00029a9e;
                local_94 = local_94 + 1;
                local_9c = local_9c + uVar14;
                if (uVar20 <= local_94) goto LAB_00029a35;
                pvVar9 = (void *)((int)local_88 + local_9c);
              } while ((int)pvVar9 + 0x14U <= uVar23);
            }
            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);
            printf(pcVar10);
          }
          goto LAB_00029a35;
        }
LAB_0002929c:
        local_80 = local_80 + 1;
        local_98 = local_98 + 0x48;
      } while (local_80 < uVar20);
      if (bVar2) {
        return 1;
      }
    }
    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);
    printf(pcVar10);
  }
  return 1;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x8adc7
SUB ESP,0xbc
MOV EDX,dword ptr [EBX + 0x233c]
TEST EDX,EDX
JZ 0x00029b1e
MOV ESI,dword ptr [EAX + 0x5c]
MOV dword ptr [ESP + 0x48],EAX
XOR EDX,EDX
MOV EAX,dword ptr [EAX + 0x54]
MOV dword ptr [ESP + 0x4c],0x0
MOV dword ptr [ESP + 0x34],ESI
TEST EAX,EAX
JZ 0x00029b00
MOV EDI,dword ptr [EBX + 0xffffffd8]
MOV dword ptr [ESP + 0x64],EDI
LEA EDI,[EBX + 0x5dd8]
MOV dword ptr [ESP + 0x24],EDI
JMP 0x000292b2
CMP ECX,0x6ffffffd
JZ 0x00029618
ADD dword ptr [ESP + 0x4c],0x1
MOV ECX,dword ptr [ESP + 0x4c]
ADD dword ptr [ESP + 0x34],0x48
CMP EAX,ECX
JBE 0x00029afc
MOV ECX,dword ptr [ESP + 0x34]
MOV ECX,dword ptr [ECX + 0x4]
CMP ECX,0x6ffffffe
JZ 0x00029510
CMP ECX,0x6fffffff
JNZ 0x00029290
MOV EDI,dword ptr [ESP + 0x34]
MOV ECX,dword ptr [EDI + 0x28]
CMP ECX,EAX
JNC 0x0002929c
LEA ESI,[ECX + ECX*0x8]
MOV ECX,dword ptr [ESP + 0x48]
MOV ECX,dword ptr [ECX + 0x5c]
LEA ESI,[ECX + ESI*0x8]
CMP dword ptr [ESI + 0x28],EAX
JNC 0x0002929c
MOV EBP,dword ptr [EDI + 0x24]
LEA ECX,[ESP + 0x88]
MOV EDI,dword ptr [EDI + 0x20]
MOV EDX,ESI
CMP dword ptr [EBX + 0x2324],0x0
MOV EAX,dword ptr [ESP + 0x48]
JNZ 0x00029f2a
CALL 0x00022830
MOV dword ptr [ESP + 0x44],EAX
MOV EAX,dword ptr [ESP + 0x44]
TEST EAX,EAX
JZ 0x00029604
MOV EAX,dword ptr [ESI + 0x28]
SUB ESP,0x4
LEA EDX,[EAX + EAX*0x8]
MOV EAX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [EAX + 0x5c]
LEA EAX,[EAX + EDX*0x8]
MOV dword ptr [ESP + 0x60],EAX
LEA EAX,[EBX + 0xfffc4614]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV EDX,dword ptr [ESP + 0x6c]
MOV ECX,dword ptr [EDX + 0x18]
MOV dword ptr [ESP],EAX
XOR EAX,EAX
PUSH dword ptr [EDX + 0x24]
PUSH dword ptr [EDX + 0x20]
PUSH 0x0
PUSH 0x1
MOV EDX,dword ptr [ESP + 0x68]
CALL 0x0001bf90
MOV dword ptr [ESP + 0x90],EAX
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00029a2e
SHRD EDI,EBP,0x1
SHR EBP,0x1
MOV dword ptr [ESP + 0x8],EDI
MOV dword ptr [ESP + 0x2c],EDI
MOV EDI,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0xc],EBP
MOV EBP,dword ptr [ESP + 0x34]
LEA ECX,[EDI + 0x68]
LEA EAX,[EDI + 0x64]
MOV EDX,ECX
MOV ECX,EBP
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
CALL 0x00022190
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[EBX + 0xfffcec8c]
PUSH 0x5
PUSH dword ptr [ESP + 0x18]
PUSH EAX
LEA EAX,[EBX + 0xfffcecc4]
PUSH EAX
PUSH 0x0
CALL 0x00013410
ADD ESP,0x1c
PUSH dword ptr [ESP + 0xc]
MOV EDX,dword ptr [ESP + 0x20]
PUSH EDX
PUSH EAX
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc4629]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
LEA EAX,[EBX + 0xfffc2935]
PUSH dword ptr [EBP + 0x14]
MOV ECX,dword ptr [EBX + 0xffffffd8]
PUSH dword ptr [EBP + 0x10]
PUSH EAX
MOV dword ptr [ESP + 0x58],ECX
PUSH dword ptr [ECX]
CALL 0x00013280
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [ESP + 0x10]
MOV ECX,ESI
CALL 0x00022190
MOV ECX,dword ptr [EBP + 0x18]
MOV ESI,dword ptr [EBP + 0x28]
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[EBX + 0xfffceb4c]
MOV dword ptr [ESP + 0x10],ECX
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV EDX,dword ptr [ESP + 0x24]
PUSH EDX
PUSH ESI
MOV ECX,dword ptr [ESP + 0x28]
PUSH ECX
PUSH EAX
CALL 0x00013060
MOV EAX,dword ptr [ESP + 0x4c]
XOR EDX,EDX
ADD ESP,0x18
MOV ECX,dword ptr [EBX + 0x23fc]
LEA ESI,[EAX + EAX*0x1]
LEA EAX,[0x2380]
MOV dword ptr [ESP + 0x5c],EAX
MOV EAX,EDI
PUSH EDX
MOV EDX,dword ptr [EBX + 0x23f8]
PUSH ESI
CALL 0x00026dc0
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc4631]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV EDX,EDI
MOV dword ptr [ESP],EAX
PUSH 0x0
PUSH 0x2
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x94],0x0
MOV dword ptr [ESP + 0x90],EAX
XOR EAX,EAX
PUSH dword ptr [ESP + 0x94]
PUSH dword ptr [ESP + 0x94]
MOV ECX,dword ptr [ESP + 0x30]
CALL 0x0001bf90
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x00029fa3
SUB ESP,0xc
PUSH dword ptr [ESP + 0x7c]
CALL 0x000130a0
POP EAX
PUSH dword ptr [ESP + 0x50]
CALL 0x000130a0
ADD ESP,0x10
MOV EDX,0x1
MOV EAX,dword ptr [EDI + 0x54]
JMP 0x0002929c
MOV EBP,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [ESP + 0x48]
MOV ECX,EBP
LEA EDX,[EAX + 0x68]
ADD EAX,0x64
MOV ESI,dword ptr [EBP + 0x2c]
CALL 0x00022190
SUB ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xfffcebe4]
PUSH 0x5
PUSH dword ptr [EBP + 0x2c]
PUSH EAX
LEA EAX,[EBX + 0xfffcec18]
PUSH EAX
PUSH 0x0
CALL 0x00013410
ADD ESP,0x1c
PUSH ESI
MOV ESI,EBP
PUSH EDI
PUSH EAX
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc44bc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
LEA EAX,[EBX + 0xfffc2935]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH EAX
MOV EDX,dword ptr [ESP + 0x80]
PUSH dword ptr [EDX]
CALL 0x00013280
ADD ESP,0x20
MOV EDX,dword ptr [EBP + 0x28]
MOV EAX,dword ptr [ESP + 0x48]
CALL 0x00023d10
MOV dword ptr [ESP + 0x34],ESI
SUB ESP,0x4
MOV EDI,dword ptr [ESI + 0x28]
MOV EBP,EAX
LEA EAX,[EBX + 0xfffceb4c]
MOV ESI,dword ptr [ESI + 0x18]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0x1c
LEA EAX,[EBX + 0xfffc455d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV EBP,dword ptr [ESP + 0x44]
MOV ECX,dword ptr [EBP + 0x18]
MOV dword ptr [ESP],EAX
XOR EAX,EAX
PUSH dword ptr [EBP + 0x24]
PUSH dword ptr [EBP + 0x20]
PUSH 0x0
PUSH 0x1
MOV EDX,dword ptr [ESP + 0x68]
CALL 0x0001bf90
MOV dword ptr [ESP + 0x74],EAX
MOV EDX,EAX
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x00029b2e
MOV EAX,dword ptr [ESP + 0x48]
MOV EDX,0x1
MOV EAX,dword ptr [EAX + 0x54]
JMP 0x0002929c
MOV EBP,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [ESP + 0x48]
MOV ECX,EBP
LEA EDX,[EAX + 0x68]
ADD EAX,0x64
MOV ESI,dword ptr [EBP + 0x2c]
CALL 0x00022190
SUB ESP,0xc
MOV EDI,EAX
LEA EAX,[EBX + 0xfffceadc]
PUSH 0x5
PUSH dword ptr [EBP + 0x2c]
PUSH EAX
LEA EAX,[EBX + 0xfffceb14]
PUSH EAX
PUSH 0x0
CALL 0x00013410
ADD ESP,0x1c
PUSH ESI
MOV ESI,EBP
PUSH EDI
PUSH EAX
CALL 0x00013060
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc44bb]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
LEA EAX,[EBX + 0xfffc2935]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH EAX
MOV EAX,dword ptr [EBX + 0xffffffd8]
PUSH dword ptr [EAX]
CALL 0x00013280
ADD ESP,0x20
MOV EDX,dword ptr [EBP + 0x28]
MOV EAX,dword ptr [ESP + 0x48]
CALL 0x00023d10
MOV dword ptr [ESP + 0x34],ESI
SUB ESP,0x4
MOV EDI,dword ptr [ESI + 0x28]
MOV EBP,EAX
LEA EAX,[EBX + 0xfffceb4c]
MOV ESI,dword ptr [ESI + 0x18]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0x1c
LEA EAX,[EBX + 0xfffc44c6]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV ESI,dword ptr [ESP + 0x44]
MOV ECX,dword ptr [ESI + 0x18]
MOV dword ptr [ESP],EAX
XOR EAX,EAX
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI + 0x20]
PUSH 0x0
PUSH 0x1
MOV EDX,dword ptr [ESP + 0x68]
CALL 0x0001bf90
MOV dword ptr [ESP + 0x64],EAX
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00029604
MOV EAX,dword ptr [ESP + 0x34]
MOV ECX,dword ptr [EAX + 0x20]
MOV EAX,dword ptr [EAX + 0x2c]
MOV EDX,ECX
MOV dword ptr [ESP + 0x50],ECX
MOV ECX,dword ptr [ESP + 0x44]
MOV EDI,ECX
ADD EDI,EDX
MOV dword ptr [ESP + 0x14],EDI
TEST EAX,EAX
JZ 0x00029a2e
LEA EDX,[ECX + 0x14]
CMP EDI,EDX
JC 0x0002a4f0
LEA EAX,[EBX + 0x5dd8]
MOV dword ptr [ESP + 0x38],0x0
MOV EBP,ECX
MOV dword ptr [ESP + 0x30],0x0
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0xfffc44e1]
MOV dword ptr [ESP + 0x54],EAX
LEA EAX,[EBX + 0xfffc44fe]
MOV dword ptr [ESP + 0x58],EAX
LEA EAX,[EBX + 0xfffcebbc]
MOV dword ptr [ESP + 0x20],EAX
LEA ESI,[ESI]
SUB ESP,0x8
PUSH 0x2
PUSH EBP
MOV ESI,dword ptr [ESP + 0x18]
CALL dword ptr [ESI]
MOV EDI,EAX
POP EAX
LEA EAX,[EBP + 0x2]
POP EDX
PUSH 0x2
MOVZX EDI,DI
PUSH EAX
MOV dword ptr [ESP + 0x18],ESI
CALL dword ptr [ESI]
POP ECX
MOV ESI,EAX
POP EAX
LEA EAX,[EBP + 0x4]
PUSH 0x2
PUSH EAX
MOV EAX,dword ptr [ESP + 0x18]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x38],EAX
POP EAX
LEA EAX,[EBP + 0x6]
POP EDX
PUSH 0x2
PUSH EAX
MOV ECX,dword ptr [ESP + 0x18]
CALL dword ptr [ECX]
MOV dword ptr [ESP + 0x28],EAX
POP ECX
POP EAX
LEA EAX,[EBP + 0x8]
PUSH 0x4
PUSH EAX
MOV ECX,dword ptr [ESP + 0x18]
CALL dword ptr [ECX]
POP EAX
LEA EAX,[EBP + 0xc]
POP EDX
PUSH 0x4
PUSH EAX
MOV ECX,dword ptr [ESP + 0x18]
CALL dword ptr [ECX]
MOV dword ptr [ESP + 0x20],EAX
POP ECX
POP EAX
LEA EAX,[EBP + 0x10]
PUSH 0x4
PUSH EAX
MOV ECX,dword ptr [ESP + 0x18]
CALL dword ptr [ECX]
MOV dword ptr [ESP + 0x4c],EAX
MOVZX EAX,SI
CALL 0x0001fa80
ADD ESP,0xc
PUSH 0x5
MOV ESI,EAX
PUSH dword ptr [ESP + 0x5c]
PUSH 0x0
CALL 0x000130f0
PUSH ESI
PUSH EDI
MOV EDI,dword ptr [ESP + 0x48]
PUSH EDI
PUSH EAX
CALL 0x00013060
MOVZX ECX,word ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x3c],ECX
ADD ESP,0x1c
MOV ESI,ECX
PUSH 0x5
PUSH dword ptr [ESP + 0x60]
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
MOVZX EDX,word ptr [ESP + 0x30]
PUSH EDX
PUSH EAX
CALL 0x00013060
MOV EDX,dword ptr [ESP + 0x60]
SUB EDX,EDI
MOV dword ptr [ESP + 0x50],EDX
ADD ESP,0x10
CMP dword ptr [ESP + 0x10],EDX
JA 0x00029f14
MOV EAX,dword ptr [ESP + 0x10]
LEA ESI,[EBP + EAX*0x1]
LEA EAX,[ESI + 0x8]
CMP dword ptr [ESP + 0x14],EAX
JC 0x00029f14
SUB ESP,0x8
PUSH 0x4
PUSH ESI
MOV EBP,dword ptr [ESP + 0x18]
CALL dword ptr [EBP]
POP ECX
MOV EDI,EAX
POP EAX
LEA EAX,[ESI + 0x4]
PUSH 0x4
PUSH EAX
CALL dword ptr [EBP]
MOV EBP,dword ptr [EBX + 0x3538]
MOV EDX,EAX
ADD ESP,0x10
TEST EBP,EBP
JZ 0x000298a2
CMP EDI,dword ptr [EBX + 0x3534]
JC 0x00029ab0
MOV dword ptr [ESP + 0x28],EDX
LEA EAX,[EBX + 0xfffc4515]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EBP
POP EDX
PUSH EDI
MOV EDI,0x1
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x28]
ADD EAX,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x1c]
SUB EAX,0x1
CMP word ptr [ESP + 0x18],0x1
MOV dword ptr [ESP + 0x28],EAX
JA 0x00029988
JMP 0x000299bd
CMP dword ptr [ESP + 0x28],EDI
JNZ 0x00029ad0
TEST EDX,EDX
JNZ 0x00029ad0
ADD ESI,EDX
ADD dword ptr [ESP + 0x10],EDX
LEA EAX,[ESI + 0x8]
CMP dword ptr [ESP + 0x14],EAX
JC 0x0002999f
SUB ESP,0x8
PUSH 0x4
PUSH ESI
MOV EAX,dword ptr [ESP + 0x18]
CALL dword ptr [EAX]
MOV EBP,EAX
POP EAX
LEA EAX,[ESI + 0x4]
POP EDX
PUSH 0x4
PUSH EAX
MOV EAX,dword ptr [ESP + 0x18]
CALL dword ptr [EAX]
MOV ECX,dword ptr [EBX + 0x3538]
MOV EDX,EAX
ADD ESP,0x10
TEST ECX,ECX
JZ 0x00029958
CMP EBP,dword ptr [EBX + 0x3534]
JC 0x00029a50
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x28]
PUSH 0x0
CALL 0x000130f0
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x28]
PUSH EAX
CALL 0x00013060
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x18]
ADD EDI,0x1
CMP dword ptr [ESP + 0x1c],EDI
JZ 0x000299bd
CMP EDX,0x7
JBE 0x00029900
MOV EAX,dword ptr [ESP + 0x14]
SUB EAX,ESI
CMP EAX,EDX
JNC 0x00029912
SUB ESP,0x4
LEA EAX,[EBX + 0xfffced1c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x34]
MOV ECX,dword ptr [ESP + 0x3c]
MOV EAX,dword ptr [EAX + 0x2c]
CMP ECX,0x13
JA 0x00029a90
LEA EDX,[EAX + -0x1]
CMP EDX,dword ptr [ESP + 0x38]
JNZ 0x00029f7c
TEST ECX,ECX
JNZ 0x00029f7c
ADD dword ptr [ESP + 0x38],0x1
MOV ESI,dword ptr [ESP + 0x38]
MOV ECX,dword ptr [ESP + 0x3c]
ADD dword ptr [ESP + 0x30],ECX
CMP ESI,EAX
JNC 0x00029a2e
MOV EBP,dword ptr [ESP + 0x44]
ADD EBP,dword ptr [ESP + 0x30]
LEA EAX,[EBP + 0x14]
CMP dword ptr [ESP + 0x14],EAX
JNC 0x00029778
SUB ESP,0x4
LEA EAX,[EBX + 0xfffceb70]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [ESP + 0x50]
CALL 0x000130a0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x48]
MOV EDX,0x1
MOV EAX,dword ptr [EAX + 0x54]
JMP 0x0002929c
MOV dword ptr [ESP + 0x2c],EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc4526]
MOV dword ptr [ESP + 0x1c],ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV ECX,dword ptr [ESP + 0x28]
ADD EBP,ECX
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x28]
PUSH EAX
CALL 0x00013060
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x2c]
JMP 0x0002997f
MOV EDX,dword ptr [ESP + 0x40]
CMP dword ptr [ESP + 0x3c],EDX
JBE 0x000299e6
CMP dword ptr [ESP + 0x38],EAX
JNC 0x00029a2e
JMP 0x00029a10
MOV dword ptr [ESP + 0x28],EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc96cc]
ADD EDI,EBP
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP EDX
JMP 0x000298bb
MOV dword ptr [ESP + 0x10],EDX
LEA EAX,[EBX + 0xfffceb9c]
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP ESI
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x000299bd
TEST EDX,EDX
JNZ 0x00029b1e
SUB ESP,0x4
LEA EAX,[EBX + 0xfffceaac]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
ADD ESP,0xbc
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ECX,dword ptr [EBP + 0x20]
MOV ESI,EDX
MOV EAX,dword ptr [EBP + 0x2c]
ADD ESI,ECX
MOV dword ptr [ESP + 0x58],ECX
MOV dword ptr [ESP + 0x1c],ESI
TEST EAX,EAX
JZ 0x00029e4b
MOV EBP,EDX
LEA EDX,[EDX + 0x10]
MOV dword ptr [ESP + 0x40],0x0
CMP ESI,EDX
JC 0x00029ea6
LEA EAX,[EBX + 0xfffc4573]
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x5c],EAX
LEA EAX,[EBX + 0xfffc45a0]
MOV dword ptr [ESP + 0x60],EAX
LEA EAX,[EBX + 0xfffc45c0]
MOV dword ptr [ESP + 0x2c],EAX
LEA ESI,[ESI]
NOP
SUB ESP,0x8
PUSH 0x2
PUSH EBP
MOV EDI,dword ptr [ESP + 0x34]
CALL dword ptr [EDI]
POP ECX
MOV ESI,EAX
POP EAX
LEA EAX,[EBP + 0x2]
PUSH 0x2
PUSH EAX
MOVZX ESI,SI
CALL dword ptr [EDI]
MOV dword ptr [ESP + 0x24],EAX
POP EAX
LEA EAX,[EBP + 0x4]
POP EDX
PUSH 0x4
PUSH EAX
MOV dword ptr [ESP + 0x34],EDI
CALL dword ptr [EDI]
POP ECX
MOV EDI,EAX
POP EAX
LEA EAX,[EBP + 0x8]
PUSH 0x4
PUSH EAX
MOV EAX,dword ptr [ESP + 0x34]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x18],EAX
POP EAX
LEA EAX,[EBP + 0xc]
POP EDX
PUSH 0x4
PUSH EAX
MOV EAX,dword ptr [ESP + 0x34]
CALL dword ptr [EAX]
MOV dword ptr [ESP + 0x54],EAX
ADD ESP,0xc
PUSH 0x5
PUSH dword ptr [ESP + 0x64]
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
PUSH dword ptr [ESP + 0x40]
PUSH EAX
CALL 0x00013060
MOV ESI,dword ptr [EBX + 0x3538]
ADD ESP,0x10
TEST ESI,ESI
JZ 0x00029c12
CMP EDI,dword ptr [EBX + 0x3534]
JC 0x00029ec0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc4594]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDX
PUSH EDI
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOVZX EAX,word ptr [ESP + 0x14]
SUB ESP,0x4
MOV dword ptr [ESP + 0x24],EAX
MOV ESI,EAX
PUSH 0x5
PUSH dword ptr [ESP + 0x68]
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
MOV EAX,dword ptr [ESP + 0x68]
SUB EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESP + 0x60],EAX
ADD ESP,0x10
CMP dword ptr [ESP + 0x8],EAX
JA 0x00029f38
MOV EAX,dword ptr [ESP + 0x8]
LEA EDI,[EBP + EAX*0x1]
ADD EAX,dword ptr [ESP + 0x38]
CMP word ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x10],EAX
JZ 0x00029dda
LEA EAX,[EDI + 0x10]
CMP dword ptr [ESP + 0x1c],EAX
JC 0x00029dbc
LEA EAX,[EBX + 0xfffc45dc]
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x28],EAX
LEA EAX,[EBX + 0xfffc45ab]
MOV dword ptr [ESP + 0x3c],EAX
JMP 0x00029cf7
MOV EAX,dword ptr [ESP + 0x20]
SUB EAX,0x1
CMP EAX,dword ptr [ESP + 0x8]
JNZ 0x00029ef0
TEST EBP,EBP
JNZ 0x00029ef0
ADD dword ptr [ESP + 0x8],0x1
ADD EDI,EBP
MOV EAX,dword ptr [ESP + 0x8]
ADD dword ptr [ESP + 0x10],EBP
CMP dword ptr [ESP + 0x20],EAX
JZ 0x00029dda
LEA EAX,[EDI + 0x10]
CMP dword ptr [ESP + 0x1c],EAX
JC 0x00029dbc
SUB ESP,0x8
PUSH 0x4
PUSH EDI
MOV EBP,dword ptr [ESP + 0x34]
CALL dword ptr [EBP]
POP EAX
LEA EAX,[EDI + 0x4]
POP EDX
PUSH 0x2
PUSH EAX
CALL dword ptr [EBP]
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[EDI + 0x6]
POP ECX
POP ESI
PUSH 0x2
PUSH EAX
CALL dword ptr [EBP]
MOV dword ptr [ESP + 0x28],EAX
POP EAX
LEA EAX,[EDI + 0x8]
POP EDX
PUSH 0x4
PUSH EAX
CALL dword ptr [EBP]
POP ECX
MOV ESI,EAX
POP EAX
LEA EAX,[EDI + 0xc]
PUSH 0x4
PUSH EAX
CALL dword ptr [EBP]
MOV ECX,dword ptr [EBX + 0x3538]
MOV EBP,EAX
ADD ESP,0x10
TEST ECX,ECX
JZ 0x00029d55
CMP ESI,dword ptr [EBX + 0x3534]
JC 0x00029e60
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x34]
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
PUSH dword ptr [ESP + 0x18]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOVZX EAX,word ptr [ESP + 0x14]
CALL 0x0001fa80
SUB ESP,0x4
PUSH 0x5
MOV ESI,EAX
PUSH dword ptr [ESP + 0x30]
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
MOVZX ECX,word ptr [ESP + 0x1c]
PUSH ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
CMP EBP,0xf
JBE 0x00029cb8
MOV EAX,dword ptr [ESP + 0x1c]
SUB EAX,EDI
CMP EBP,EAX
JBE 0x00029cd1
SUB ESP,0x4
LEA EAX,[EBX + 0xfffced44]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066db0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x34]
MOV ECX,dword ptr [ESP + 0x44]
MOV EAX,dword ptr [EAX + 0x2c]
CMP ECX,0xf
JA 0x00029e98
LEA EDX,[EAX + -0x1]
CMP EDX,dword ptr [ESP + 0x40]
JNZ 0x00029f4e
TEST ECX,ECX
JNZ 0x00029f4e
ADD dword ptr [ESP + 0x40],0x1
MOV ESI,dword ptr [ESP + 0x40]
MOV ECX,dword ptr [ESP + 0x44]
ADD dword ptr [ESP + 0x38],ECX
CMP EAX,ESI
JBE 0x00029e4b
MOV EBP,dword ptr [ESP + 0x54]
ADD EBP,dword ptr [ESP + 0x38]
LEA EAX,[EBP + 0x10]
CMP dword ptr [ESP + 0x1c],EAX
JNC 0x00029b88
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcec48]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066db0
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [ESP + 0x60]
JMP 0x00029a35
MOV dword ptr [ESP + 0x30],ECX
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x44]
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0x34]
LEA EDX,[ECX + ESI*0x1]
PUSH EDX
PUSH dword ptr [ESP + 0x18]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00029d76
MOV ECX,dword ptr [ESP + 0x50]
CMP dword ptr [ESP + 0x44],ECX
JBE 0x00029e03
CMP EAX,dword ptr [ESP + 0x40]
JA 0x00029e2d
SUB ESP,0xc
PUSH dword ptr [ESP + 0x60]
JMP 0x00029a35
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc4589]
ADD EDI,ESI
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP EDX
PUSH EDI
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00029c31
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcec6c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ESI
POP EDI
PUSH EBP
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x00029dda
MOV EAX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [EAX + 0x2c]
CMP dword ptr [ESP + 0x38],EAX
JNC 0x00029a2e
JMP 0x00029a10
CALL 0x000222e0
MOV dword ptr [ESP + 0x44],EAX
JMP 0x00029313
MOV EAX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [EAX + 0x2c]
CMP EAX,dword ptr [ESP + 0x40]
JBE 0x00029eac
JMP 0x00029e2d
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc45f6]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x4c]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [ESP + 0x60]
JMP 0x00029a35
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc453f]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP ESI
PUSH dword ptr [ESP + 0x44]
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x00029a2e
SUB ESP,0x8
PUSH 0x2
PUSH dword ptr [ESP + 0x14]
CALL 0x0005dac0
ADD ESP,0x10
MOV EBP,EAX
MOV EAX,dword ptr [ESP + 0x2c]
TEST EAX,EAX
JZ 0x0002a5a3
LEA EAX,[EBX + 0x5dd8]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [ESP + 0x10]
LEA EDI,[EAX + -0x2]
SUB ESP,0x8
LEA EAX,[EDI + ESI*0x1]
PUSH 0x2
PUSH EAX
MOV EAX,dword ptr [ESP + 0x18]
CALL dword ptr [EAX]
MOV word ptr [EBP + ESI*0x1 + -0x2],AX
ADD ESP,0x10
SUB ESI,0x2
JNZ 0x00029fd3
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x000130a0
ADD ESP,0x10
LEA EAX,[EBX + 0xfffc4645]
MOV dword ptr [ESP + 0x60],EAX
LEA EAX,[EBX + 0xfffc464f]
MOV dword ptr [ESP + 0x68],EAX
LEA EAX,[ESP + 0xac]
MOV dword ptr [ESP + 0x28],0x4
MOV dword ptr [ESP + 0x74],EAX
MOV dword ptr [ESP + 0x10],EBP
MOV EBP,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x28]
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x68]
LEA EDI,[EAX + -0x4]
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP + 0x60],EAX
POP ESI
POP EAX
PUSH EDI
PUSH dword ptr [ESP + 0x74]
CALL 0x00013060
MOV EAX,EBP
ADD ESP,0x10
MOV EBP,EDI
MOV EDI,EAX
CMP dword ptr [ESP + 0x2c],EBP
JBE 0x0002a242
MOV EAX,dword ptr [ESP + 0x10]
MOVZX EAX,word ptr [EAX + EBP*0x2]
TEST AX,AX
JZ 0x0002a26d
CMP AX,0x1
JZ 0x0002a210
MOVSX EDX,AX
SUB ESP,0x4
AND EAX,0x7fff
SAR EDX,0x1f
AND EDX,0x48
ADD EDX,0x20
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xfffc467d]
PUSH EAX
CALL 0x00013060
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0x10
CMP dword ptr [ESP + 0x88],EBP
JBE 0x0002a280
MOV EAX,dword ptr [ESP + 0x54]
MOV ECX,dword ptr [EAX + EBX*0x1 + 0xc]
MOV EDX,dword ptr [EAX + EBX*0x1 + 0x8]
MOV EAX,ECX
OR EAX,EDX
JNZ 0x0002a2bd
MOV EAX,dword ptr [ESP + 0x10]
CMP word ptr [EAX + EBP*0x2],0x8001
JZ 0x0002a1e4
MOV EAX,dword ptr [ESP + 0x54]
XOR ESI,ESI
MOV ECX,dword ptr [EAX + EBX*0x1 + 0x1c]
MOV EDX,dword ptr [EAX + EBX*0x1 + 0x18]
LEA EAX,[ESP + 0x9c]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,ECX
OR EAX,EDX
JZ 0x0002a1e4
SUB ESP,0x8
PUSH 0x0
PUSH 0x14
MOV EAX,dword ptr [ESP + 0x58]
CALL 0x00026dc0
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
LEA EAX,[EBX + 0xfffc46a5]
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[ESP + 0xa0]
MOV dword ptr [ESP + 0x20],EAX
MOV dword ptr [ESP + 0x30],ESI
JMP 0x0002a17a
SUB ESP,0x8
PUSH 0x4
PUSH dword ptr [ESP + 0x80]
CALL dword ptr [EDI]
POP ECX
MOV ESI,EAX
POP EAX
PUSH 0x2
PUSH dword ptr [ESP + 0x2c]
CALL dword ptr [EDI]
MOV EDX,dword ptr [ESP + 0x24]
LEA ECX,[ESI + EDX*0x1]
MOV EDX,dword ptr [ESP + 0x20]
MOVZX EDX,word ptr [EDX + EBP*0x2]
MOV word ptr [ESP + 0x28],DX
AND DX,0x7fff
ADD ESP,0x10
CMP DX,AX
JZ 0x0002a4fd
TEST ESI,ESI
JZ 0x0002a1ad
MOV dword ptr [ESP + 0x14],ECX
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x24]
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
PUSH 0x0
PUSH 0x1
PUSH 0x0
PUSH 0x14
MOV ECX,dword ptr [ESP + 0x34]
MOV EDX,dword ptr [ESP + 0x68]
MOV EAX,dword ptr [ESP + 0x28]
CALL 0x0001bf90
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x0002a133
MOV ESI,dword ptr [ESP + 0x30]
TEST ESI,ESI
JZ 0x0002a1e4
SUB ESP,0xc
PUSH ESI
CALL 0x00013260
ADD ESP,0x10
LEA EDX,[EBX + 0xfffdf0ad]
PUSH EDX
MOV EDX,0xc
SUB EDX,EAX
LEA EAX,[EBX + 0xfffc46c8]
PUSH EDX
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD dword ptr [ESP + 0x50],EAX
ADD ESP,0x10
CMP dword ptr [ESP + 0x40],0x11
JG 0x0002a235
SUB ESP,0x4
MOV EAX,0x12
PUSH 0x20
SUB EAX,dword ptr [ESP + 0x48]
PUSH EAX
LEA EAX,[EBX + 0xfffc46d0]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x0002a235
MOV EAX,dword ptr [ESP + 0x3c]
SUB ESP,0x4
MOV ESI,dword ptr [EAX]
PUSH 0x5
LEA EAX,[EBX + 0xfffc466a]
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013400
ADD ESP,0x10
ADD EBP,0x1
CMP dword ptr [ESP + 0x28],EBP
JNZ 0x0002a05d
SUB ESP,0x8
MOV EBP,EDI
MOV EAX,dword ptr [ESP + 0x44]
PUSH dword ptr [EAX]
PUSH 0xa
CALL 0x00013360
MOV ESI,dword ptr [ESP + 0x38]
ADD ESP,0x10
LEA EAX,[ESI + 0x4]
CMP dword ptr [ESP + 0x2c],ESI
JBE 0x0002a2a0
MOV dword ptr [ESP + 0x28],EAX
JMP 0x0002a02d
MOV EAX,dword ptr [ESP + 0x3c]
SUB ESP,0x4
MOV ESI,dword ptr [EAX]
PUSH 0x5
LEA EAX,[EBX + 0xfffc4657]
JMP 0x0002a221
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcecf8]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066db0
ADD ESP,0x10
JMP 0x0002a235
MOV EBP,dword ptr [ESP + 0x10]
SUB ESP,0xc
PUSH EBP
CALL 0x000130a0
POP EAX
PUSH dword ptr [ESP + 0x7c]
CALL 0x000130a0
POP EDX
JMP 0x00029a31
SUB ESP,0x8
PUSH 0x0
PUSH 0x10
MOV EAX,dword ptr [ESP + 0x58]
CALL 0x00026dc0
MOV dword ptr [ESP + 0x40],EAX
ADD ESP,0x10
LEA EAX,[EBX + 0xfffc4683]
MOV dword ptr [ESP + 0x6c],EAX
LEA EAX,[ESP + 0x8c]
MOV dword ptr [ESP + 0x58],EAX
LEA EAX,[ESP + 0xa8]
MOV dword ptr [ESP + 0x20],EAX
MOV dword ptr [ESP + 0x18],EBP
LEA ESI,[ESI]
NOP
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x74]
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
PUSH 0x0
PUSH 0x1
PUSH 0x0
PUSH 0x10
MOV EBP,dword ptr [ESP + 0x50]
MOV EDX,dword ptr [ESP + 0x68]
MOV EAX,dword ptr [ESP + 0x78]
MOV ECX,EBP
CALL 0x0001bf90
ADD ESP,0x20
TEST EAX,EAX
JZ 0x0002a4ae
SUB ESP,0x8
PUSH 0x4
LEA EAX,[ESP + 0xa0]
PUSH EAX
CALL dword ptr [EDI]
POP ECX
MOV ESI,EAX
POP EAX
PUSH 0x4
ADD ESI,EBP
LEA EAX,[ESP + 0xa4]
PUSH EAX
CALL dword ptr [EDI]
MOV dword ptr [ESP + 0x48],EAX
ADD ESP,0x10
LEA EAX,[EBX + 0xfffc4690]
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[ESP + 0x9c]
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[ESP + 0xa2]
MOV dword ptr [ESP + 0x1c],EAX
LEA ESI,[ESI]
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x1c]
PUSH 0x0
CALL 0x000130f0
MOV ECX,ESI
MOV dword ptr [ESP],EAX
PUSH 0x0
PUSH 0x1
PUSH 0x0
PUSH 0x10
MOV EDX,dword ptr [ESP + 0x68]
MOV EAX,dword ptr [ESP + 0x28]
CALL 0x0001bf90
ADD ESP,0x20
TEST EAX,EAX
JZ 0x0002a438
SUB ESP,0x8
PUSH 0x4
PUSH dword ptr [ESP + 0x2c]
CALL dword ptr [EDI]
MOV EBP,EAX
POP EAX
POP EDX
PUSH 0x2
PUSH dword ptr [ESP + 0x28]
ADD ESI,EBP
CALL dword ptr [EDI]
MOV EDX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [ESP + 0x28]
ADD ESP,0x10
CMP word ptr [EDX + ECX*0x2],AX
JZ 0x0002a4a8
TEST EBP,EBP
JNZ 0x0002a388
LEA ESI,[ESI]
NOP
MOV ESI,dword ptr [ESP + 0x38]
ADD dword ptr [ESP + 0x30],ESI
TEST ESI,ESI
JNZ 0x0002a300
MOV EBP,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x10]
CMP word ptr [EAX + EBP*0x2],0x8001
JZ 0x0002a1e4
MOV EAX,dword ptr [ESP + 0x54]
MOV ECX,dword ptr [EAX + EBX*0x1 + 0x1c]
MOV EDX,dword ptr [EAX + EBX*0x1 + 0x18]
MOV EAX,ECX
OR EAX,EDX
JZ 0x0002a1e4
XOR ESI,ESI
JMP 0x0002a101
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x18]
CMP word ptr [EAX + EDX*0x2],0x0
JNZ 0x0002a3f0
MOV EBP,EDX
SUB ESP,0x8
PUSH 0x4
LEA EAX,[ESP + 0xb0]
PUSH EAX
CALL dword ptr [EDI]
MOV ECX,dword ptr [ESP + 0x6c]
MOV EDX,0x0
MOV ESI,dword ptr [ESP + 0x60]
ADD ESP,0x10
CMP EAX,dword ptr [ECX + 0x20]
SBB EDX,dword ptr [ECX + 0x24]
JNC 0x0002a476
MOV ESI,dword ptr [ESP + 0x70]
ADD ESI,EAX
MOV EAX,dword ptr [ESP + 0x10]
CMP word ptr [EAX + EBP*0x2],0x8001
JZ 0x0002a1b1
MOV EAX,dword ptr [ESP + 0x54]
MOV ECX,dword ptr [EAX + EBX*0x1 + 0x1c]
MOV EDX,dword ptr [EAX + EBX*0x1 + 0x18]
MOV EAX,ECX
OR EAX,EDX
JZ 0x0002a1b1
JMP 0x0002a101
MOV EBP,dword ptr [ESP + 0x18]
JMP 0x0002a449
MOV ESI,EAX
MOV EBP,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x10]
CMP word ptr [EAX + EBP*0x2],0x8001
JZ 0x0002a1e4
MOV EAX,dword ptr [ESP + 0x54]
MOV ECX,dword ptr [EAX + EBX*0x1 + 0x1c]
MOV EDX,dword ptr [EAX + EBX*0x1 + 0x18]
MOV EAX,ECX
OR EAX,EDX
JZ 0x0002a1e4
LEA EAX,[ESP + 0x9c]
MOV dword ptr [ESP + 0x8],EAX
JMP 0x0002a101
MOV dword ptr [ESP + 0x38],0x0
JMP 0x00029a9e
MOV ESI,dword ptr [ESP + 0x30]
SUB ESP,0x8
PUSH 0x4
LEA EAX,[ESP + 0xb4]
PUSH EAX
CALL dword ptr [EDI]
MOV dword ptr [ESP + 0x18],EAX
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc46b1]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
LEA EDX,[ESP + 0x9c]
MOV ECX,dword ptr [ESP + 0x24]
ADD ECX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x68],EDX
MOV dword ptr [ESP],EAX
PUSH 0x0
PUSH 0x1
PUSH 0x0
PUSH 0x8
MOV EDX,dword ptr [ESP + 0x68]
MOV EAX,dword ptr [ESP + 0x78]
CALL 0x0001bf90
ADD ESP,0x20
TEST EAX,EAX
JZ 0x0002a235
SUB ESP,0x8
PUSH 0x4
PUSH dword ptr [ESP + 0x64]
CALL dword ptr [EDI]
MOV ECX,dword ptr [ESP + 0x6c]
MOV EDX,0x0
ADD ESP,0x10
CMP EAX,dword ptr [ECX + 0x20]
SBB EDX,dword ptr [ECX + 0x24]
JNC 0x0002a5b7
TEST ESI,ESI
JZ 0x0002a5c0
CMP dword ptr [ESP + 0x50],ESI
JZ 0x0002a5c0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc46c1]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
MOV ESI,EAX
JMP 0x0002a1b1
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x000130a0
ADD ESP,0x10
JMP 0x0002a2a4
MOV ESI,dword ptr [ESP + 0x50]
JMP 0x0002a1b1
MOV ESI,dword ptr [ESP + 0x70]
ADD ESI,EAX
JMP 0x0002a1b1
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_00029230(int param_1)\n\n{\n  int iVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined2 uVar5;\n  ushort uVar6;\n  short sVar7;\n  undefined4 uVar8;\n  void *pvVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  void *__ptr;\n  undefined4 uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  void *__ptr_00;\n  size_t sVar17;\n  int iVar18;\n  uint uVar19;\n  char *__s;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  FILE *__stream;\n  uint uVar23;\n  uint uVar24;\n  uint local_c4;\n  int local_bc;\n  uint local_a4;\n  int local_9c;\n  int local_98;\n  uint local_94;\n  uint local_8c;\n  void *local_88;\n  uint local_80;\n  uint local_44;\n  undefined1 local_40 [8];\n  undefined1 local_38 [4];\n  undefined1 local_34 [8];\n  undefined1 local_2c [2];\n  undefined1 local_2a [2];\n  undefined1 local_28 [4];\n  undefined1 local_24 [4];\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }\n  return 1;\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_00029230(int param_1)\n\n{\n  int iVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined2 uVar5;\n  ushort uVar6;\n  short sVar7;\n  undefined4 uVar8;\n  void *pvVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  void *__ptr;\n  undefined4 uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  void *__ptr_00;\n  size_t sVar17;\n  int iVar18;\n  uint uVar19;\n  char *__s;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  FILE *__stream;\n  uint uVar23;\n  uint uVar24;\n  uint local_c4;\n  int local_bc;\n  uint local_a4;\n  int local_9c;\n  int local_98;\n  uint local_94;\n  uint local_8c;\n  void *local_88;\n  uint local_80;\n  uint local_44;\n  undefined1 local_40 [8];\n  undefined1 local_38 [4];\n  undefined1 local_34 [8];\n  undefined1 local_2c [2];\n  undefined1 local_2a [2];\n  undefined1 local_28 [4];\n  undefined1 local_24 [4];\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }\n  return 1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00029230(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined2 uVar5;\n  ushort uVar6;\n  short sVar7;\n  undefined4 uVar8;\n  void *pvVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  void *__ptr;\n  undefined4 uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  void *__ptr_00;\n  size_t sVar17;\n  int iVar18;\n  uint uVar19;\n  char *__s;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  FILE *__stream;\n  uint uVar23;\n  uint uVar24;\n  uint local_c4;\n  int local_bc;\n  uint local_a4;\n  int local_9c;\n  int local_98;\n  uint local_94;\n  uint local_8c;\n  void *local_88;\n  uint local_80;\n  uint local_44;\n  undefined1 local_40 [8];\n  undefined1 local_38 [4];\n  undefined1 local_34 [8];\n  undefined1 local_2c [2];\n  undefined1 local_2a [2];\n  undefined1 local_28 [4];\n  undefined1 local_24 [4];\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }\n  return 1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined2 uVar5;" type_identifier identifier ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "short sVar7;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "void *pvVar9;" primitive_type (pointer_declarator "*pvVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "void *__ptr_00;" primitive_type (pointer_declarator "*__ptr_00" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "void *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "undefined1 local_40 [8];" type_identifier (array_declarator "local_40 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_38 [4];" type_identifier (array_declarator "local_38 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_34 [8];" type_identifier (array_declarator "local_34 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2c [2];" type_identifier (array_declarator "local_2c [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2a [2];" type_identifier (array_declarator "local_2a [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_28 [4];" type_identifier (array_declarator "local_28 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_24 [4];" type_identifier (array_declarator "local_24 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_20 [12];" type_identifier (array_declarator "local_20 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar3 = PTR_stdout_000b3fd8;" (assignment_expression "puVar3 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "uStack_14 = 0x29239;" (assignment_expression "uStack_14 = 0x29239" identifier = number_literal) ;) (if_statement "if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }" if (parenthesized_expression "(DAT_000b633c != 0)" ( (binary_expression "DAT_000b633c != 0" identifier != number_literal) )) (compound_statement "{\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }" { (expression_statement "local_98 = *(int *)(param_1 + 0x5c);" (assignment_expression "local_98 = *(int *)(param_1 + 0x5c)" identifier = (pointer_expression "*(int *)(param_1 + 0x5c)" * (cast_expression "(int *)(param_1 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" identifier = (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (if_statement "if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }" { (do_statement "do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);" do (compound_statement "{\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      }" { (expression_statement "iVar1 = *(int *)(local_98 + 4);" (assignment_expression "iVar1 = *(int *)(local_98 + 4)" identifier = (pointer_expression "*(int *)(local_98 + 4)" * (cast_expression "(int *)(local_98 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 4)" ( (binary_expression "local_98 + 4" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(iVar1 == 0x6ffffffe)" ( (binary_expression "iVar1 == 0x6ffffffe" identifier == number_literal) )) (compound_statement "{\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }" { (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" * (cast_expression "(undefined4 *)(local_98 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" identifier = (cast_expression "(char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" identifier (argument_list "(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" ( number_literal , (string_literal ""\nVersion needs section \'%s\' contains %u entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion needs section \'%s\' contains %u entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" * (cast_expression "(undefined4 *)(local_98 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12,uVar8);" (call_expression "printf(pcVar10,uVar12,uVar8)" identifier (argument_list "(pcVar10,uVar12,uVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0," Addr: 0x",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," Addr: 0x",5)" identifier = (cast_expression "(char *)dcgettext(0," Addr: 0x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Addr: 0x",5)" identifier (argument_list "(0," Addr: 0x",5)" ( number_literal , (string_literal "" Addr: 0x"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" identifier (argument_list "(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98 + 0x10)" * (cast_expression "(undefined4 *)(local_98 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x10)" ( (binary_expression "local_98 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x14)" * (cast_expression "(undefined4 *)(local_98 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x14)" ( (binary_expression "local_98 + 0x14" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = FUN_00023d10();" (assignment_expression "uVar11 = FUN_00023d10()" identifier = (call_expression "FUN_00023d10()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x28)" * (cast_expression "(undefined4 *)(local_98 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x18)" * (cast_expression "(undefined4 *)(local_98 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12,uVar8,uVar11);" (call_expression "printf(pcVar10,uVar12,uVar8,uVar11)" identifier (argument_list "(pcVar10,uVar12,uVar8,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = dcgettext(0,"Version Needs section",5);" (assignment_expression "uVar8 = dcgettext(0,"Version Needs section",5)" identifier = (call_expression "dcgettext(0,"Version Needs section",5)" identifier (argument_list "(0,"Version Needs section",5)" ( number_literal , (string_literal ""Version Needs section"" " string_content ") , number_literal )))) ;) (expression_statement "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);" (assignment_expression "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" identifier = (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" identifier (argument_list "(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" ( number_literal , number_literal , (pointer_expression "*(undefined4 *)(local_98 + 0x20)" * (cast_expression "(undefined4 *)(local_98 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x24)" * (cast_expression "(undefined4 *)(local_98 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x24)" ( (binary_expression "local_98 + 0x24" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" if (parenthesized_expression "(local_88 == (void *)0x0)" ( (binary_expression "local_88 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" { (labeled_statement "LAB_00029604:\n            bVar2 = true;" statement_identifier : (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;)) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" identifier = (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" else (compound_statement "{\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" { (expression_statement "iVar1 = *(int *)(local_98 + 0x20);" (assignment_expression "iVar1 = *(int *)(local_98 + 0x20)" identifier = (pointer_expression "*(int *)(local_98 + 0x20)" * (cast_expression "(int *)(local_98 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = (int)local_88 + iVar1;" (assignment_expression "uVar23 = (int)local_88 + iVar1" identifier = (binary_expression "(int)local_88 + iVar1" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (if_statement "if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" if (parenthesized_expression "(uVar23 < (int)local_88 + 0x10U)" ( (binary_expression "uVar23 < (int)local_88 + 0x10U" identifier < (binary_expression "(int)local_88 + 0x10U" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) )) (compound_statement "{\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }" { (labeled_statement "LAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;" statement_identifier : (if_statement "if (uVar20 <= local_8c) goto LAB_00029a35;" if (parenthesized_expression "(uVar20 <= local_8c)" ( (binary_expression "uVar20 <= local_8c" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;))) }) (else_clause "else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" else (compound_statement "{\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "pvVar9 = local_88;" (assignment_expression "pvVar9 = local_88" identifier = identifier) ;) (do_statement "do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);" do (compound_statement "{\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                }" { (expression_statement "uVar20 = (*DAT_000b9dd8)(pvVar9,2);" (assignment_expression "uVar20 = (*DAT_000b9dd8)(pvVar9,2)" identifier = (call_expression "(*DAT_000b9dd8)(pvVar9,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pvVar9,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 2,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 2,2)" ( (binary_expression "(int)pvVar9 + 2" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 4,4)" ( (binary_expression "(int)pvVar9 + 4" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 8,4)" ( (binary_expression "(int)pvVar9 + 8" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);" (assignment_expression "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 0xc,4)" ( (binary_expression "(int)pvVar9 + 0xc" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Version: %d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Version: %d",5)" identifier (argument_list "(0,"  %#06lx: Version: %d",5)" ( number_literal , (string_literal ""  %#06lx: Version: %d"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_94,uVar20 & 0xffff);" (call_expression "printf(pcVar10,local_94,uVar20 & 0xffff)" identifier (argument_list "(pcVar10,local_94,uVar20 & 0xffff)" ( identifier , identifier , (binary_expression "uVar20 & 0xffff" identifier & number_literal) ))) ;) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" if (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19))" ( (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)" (parenthesized_expression "(DAT_000b7538 == 0)" ( (binary_expression "DAT_000b7538 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000b7534 <= uVar19)" ( (binary_expression "DAT_000b7534 <= uVar19" identifier <= identifier) ))) )) (compound_statement "{\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  File: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  File: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"  File: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  File: %lx",5)" identifier (argument_list "(0,"  File: %lx",5)" ( number_literal , (string_literal ""  File: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar19);" (call_expression "printf(pcVar10,uVar19)" identifier (argument_list "(pcVar10,uVar19)" ( identifier , identifier ))) ;) }) (else_clause "else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" else (compound_statement "{\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" { (expression_statement "iVar21 = uVar19 + DAT_000b7538;" (assignment_expression "iVar21 = uVar19 + DAT_000b7538" identifier = (binary_expression "uVar19 + DAT_000b7538" identifier + identifier)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  File: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  File: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  File: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  File: %s",5)" identifier (argument_list "(0,"  File: %s",5)" ( number_literal , (string_literal ""  File: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,iVar21);" (call_expression "printf(pcVar10,iVar21)" identifier (argument_list "(pcVar10,iVar21)" ( identifier , identifier ))) ;) }))) (expression_statement "uVar20 = (uint)uVar6;" (assignment_expression "uVar20 = (uint)uVar6" identifier = (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Cnt: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Cnt: %d\n",5)" identifier (argument_list "(0,"  Cnt: %d\n",5)" ( number_literal , (string_literal ""  Cnt: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar20);" (call_expression "printf(pcVar10,uVar20)" identifier (argument_list "(pcVar10,uVar20)" ( identifier , identifier ))) ;) (expression_statement "uVar19 = iVar1 - local_94;" (assignment_expression "uVar19 = iVar1 - local_94" identifier = (binary_expression "iVar1 - local_94" identifier - identifier)) ;) (if_statement "if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }" if (parenthesized_expression "(uVar19 < uVar13)" ( (binary_expression "uVar19 < uVar13" identifier < identifier) )) (compound_statement "{\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }" { (if_statement "if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;" if (parenthesized_expression "(*(uint *)(local_98 + 0x2c) <= local_8c)" ( (binary_expression "*(uint *)(local_98 + 0x2c) <= local_8c" (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "iVar21 = (int)pvVar9 + uVar13;" (assignment_expression "iVar21 = (int)pvVar9 + uVar13" identifier = (binary_expression "(int)pvVar9 + uVar13" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "local_bc = uVar13 + local_94;" (assignment_expression "local_bc = uVar13 + local_94" identifier = (binary_expression "uVar13 + local_94" identifier + identifier)) ;) (if_statement "if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }" { (if_statement "if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }" if (parenthesized_expression "(iVar21 + 0x10U <= uVar23)" ( (binary_expression "iVar21 + 0x10U <= uVar23" (binary_expression "iVar21 + 0x10U" identifier + number_literal) <= identifier) )) (compound_statement "{\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (do_statement "do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);" do (compound_statement "{\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      }" { (expression_statement "(*DAT_000b9dd8)(iVar21,4);" (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21,4)" ( identifier , number_literal ))) ;) (expression_statement "(*DAT_000b9dd8)(iVar21 + 4,2);" (call_expression "(*DAT_000b9dd8)(iVar21 + 4,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 4,2)" ( (binary_expression "iVar21 + 4" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);" (assignment_expression "uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 6,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 6,2)" ( (binary_expression "iVar21 + 6" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 8,4)" ( (binary_expression "iVar21 + 8" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 0xc,4)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) , number_literal )))) ;) (expression_statement "iVar18 = DAT_000b7538;" (assignment_expression "iVar18 = DAT_000b7538" identifier = identifier) ;) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" if (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15))" ( (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)" (parenthesized_expression "(DAT_000b7538 == 0)" ( (binary_expression "DAT_000b7538 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000b7534 <= uVar15)" ( (binary_expression "DAT_000b7534 <= uVar15" identifier <= identifier) ))) )) (compound_statement "{\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx:   Name index: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx:   Name index: %lx",5)" identifier (argument_list "(0,"  %#06lx:   Name index: %lx",5)" ( number_literal , (string_literal ""  %#06lx:   Name index: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_bc,uVar15);" (call_expression "printf(pcVar10,local_bc,uVar15)" identifier (argument_list "(pcVar10,local_bc,uVar15)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" else (compound_statement "{\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx:   Name: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx:   Name: %s",5)" identifier (argument_list "(0,"  %#06lx:   Name: %s",5)" ( number_literal , (string_literal ""  %#06lx:   Name: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_bc,iVar18 + uVar15);" (call_expression "printf(pcVar10,local_bc,iVar18 + uVar15)" identifier (argument_list "(pcVar10,local_bc,iVar18 + uVar15)" ( identifier , identifier , (binary_expression "iVar18 + uVar15" identifier + identifier) ))) ;) }))) (expression_statement "uVar8 = FUN_0001fa80();" (assignment_expression "uVar8 = FUN_0001fa80()" identifier = (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Flags: %s  Version: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Flags: %s  Version: %d\n",5)" identifier (argument_list "(0,"  Flags: %s  Version: %d\n",5)" ( number_literal , (string_literal ""  Flags: %s  Version: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar8,uVar13 & 0xffff);" (call_expression "printf(pcVar10,uVar8,uVar13 & 0xffff)" identifier (argument_list "(pcVar10,uVar8,uVar13 & 0xffff)" ( identifier , identifier , (binary_expression "uVar13 & 0xffff" identifier & number_literal) ))) ;) (if_statement "if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;" if (parenthesized_expression "(uVar16 < 0x10)" ( (binary_expression "uVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }" { (if_statement "if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }" if (parenthesized_expression "((uVar20 - 1 != local_c4) || (uVar16 != 0))" ( (binary_expression "(uVar20 - 1 != local_c4) || (uVar16 != 0)" (parenthesized_expression "(uVar20 - 1 != local_c4)" ( (binary_expression "uVar20 - 1 != local_c4" (binary_expression "uVar20 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }" { (expression_statement "uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5)" identifier = (call_expression "dcgettext(0,"Invalid vna_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vna_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vna_next field of %lx\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8,uVar16);" (call_expression "warn(uVar8,uVar16)" identifier (argument_list "(uVar8,uVar16)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00029dda;" goto statement_identifier ;) })) }) (else_clause "else if (uVar23 - iVar21 < uVar16) break;" else (if_statement "if (uVar23 - iVar21 < uVar16) break;" if (parenthesized_expression "(uVar23 - iVar21 < uVar16)" ( (binary_expression "uVar23 - iVar21 < uVar16" (binary_expression "uVar23 - iVar21" identifier - identifier) < identifier) )) (break_statement "break;" break ;)))) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "iVar21 = iVar21 + uVar16;" (assignment_expression "iVar21 = iVar21 + uVar16" identifier = (binary_expression "iVar21 + uVar16" identifier + identifier)) ;) (expression_statement "local_bc = local_bc + uVar16;" (assignment_expression "local_bc = local_bc + uVar16" identifier = (binary_expression "local_bc + uVar16" identifier + identifier)) ;) (if_statement "if (uVar20 == local_c4) goto LAB_00029dda;" if (parenthesized_expression "(uVar20 == local_c4)" ( (binary_expression "uVar20 == local_c4" identifier == identifier) )) (goto_statement "goto LAB_00029dda;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar21 + 0x10U <= uVar23)" ( (binary_expression "iVar21 + 0x10U <= uVar23" (binary_expression "iVar21 + 0x10U" identifier + number_literal) <= identifier) )) ;) })) (expression_statement "uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5)" identifier = (call_expression "dcgettext(0,"Missing Version Needs auxillary information\n",5)" identifier (argument_list "(0,"Missing Version Needs auxillary information\n",5)" ( number_literal , (string_literal ""Missing Version Needs auxillary information\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) })) (labeled_statement "LAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);" statement_identifier : (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;)) (if_statement "if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;" if (parenthesized_expression "(uVar14 < 0x10)" ( (binary_expression "uVar14 < 0x10" identifier < number_literal) )) (compound_statement "{\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }" { (if_statement "if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }" if (parenthesized_expression "((uVar20 - 1 != local_8c) || (uVar14 != 0))" ( (binary_expression "(uVar20 - 1 != local_8c) || (uVar14 != 0)" (parenthesized_expression "(uVar20 - 1 != local_8c)" ( (binary_expression "uVar20 - 1 != local_8c" (binary_expression "uVar20 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }" { (expression_statement "uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5)" identifier = (call_expression "dcgettext(0,"Invalid vn_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vn_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vn_next field of %lx\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8,uVar14);" (call_expression "warn(uVar8,uVar14)" identifier (argument_list "(uVar8,uVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if (uVar19 < uVar14) goto LAB_00029ea6;" else (if_statement "if (uVar19 < uVar14) goto LAB_00029ea6;" if (parenthesized_expression "(uVar19 < uVar14)" ( (binary_expression "uVar19 < uVar14" identifier < identifier) )) (goto_statement "goto LAB_00029ea6;" goto statement_identifier ;)))) (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;) (expression_statement "local_94 = local_94 + uVar14;" (assignment_expression "local_94 = local_94 + uVar14" identifier = (binary_expression "local_94 + uVar14" identifier + identifier)) ;) (if_statement "if (uVar20 <= local_8c) goto LAB_00029a35;" if (parenthesized_expression "(uVar20 <= local_8c)" ( (binary_expression "uVar20 <= local_8c" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (expression_statement "pvVar9 = (void *)((int)local_88 + local_94);" (assignment_expression "pvVar9 = (void *)((int)local_88 + local_94)" identifier = (cast_expression "(void *)((int)local_88 + local_94)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_88 + local_94)" ( (binary_expression "(int)local_88 + local_94" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((int)pvVar9 + 0x10U <= uVar23)" ( (binary_expression "(int)pvVar9 + 0x10U <= uVar23" (binary_expression "(int)pvVar9 + 0x10U" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) <= identifier) )) ;) }))) (expression_statement "uVar8 = dcgettext(0,"Missing Version Needs information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Missing Version Needs information\n",5)" identifier = (call_expression "dcgettext(0,"Missing Version Needs information\n",5)" identifier (argument_list "(0,"Missing Version Needs information\n",5)" ( number_literal , (string_literal ""Missing Version Needs information\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) })) (labeled_statement "LAB_00029a35:\n            free(local_88);" statement_identifier : (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;)) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" identifier = (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) }))) }) (else_clause "else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" else (if_statement "if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(iVar1 == 0x6fffffff)" ( (binary_expression "iVar1 == 0x6fffffff" identifier == number_literal) )) (compound_statement "{\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }" { (if_statement "if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }" if (parenthesized_expression "((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20))" ( (binary_expression "(*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)" (parenthesized_expression "(*(uint *)(local_98 + 0x28) < uVar20)" ( (binary_expression "*(uint *)(local_98 + 0x28) < uVar20" (pointer_expression "*(uint *)(local_98 + 0x28)" * (cast_expression "(uint *)(local_98 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) )))) < identifier) )) && (parenthesized_expression "(iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)" ( (comma_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20" (assignment_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48" identifier = (binary_expression "*(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48" (pointer_expression "*(int *)(param_1 + 0x5c)" * (cast_expression "(int *)(param_1 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) + (binary_expression "*(uint *)(local_98 + 0x28) * 0x48" (pointer_expression "*(uint *)(local_98 + 0x28)" * (cast_expression "(uint *)(local_98 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) )))) * number_literal))) , (binary_expression "*(uint *)(iVar1 + 0x28) < uVar20" (pointer_expression "*(uint *)(iVar1 + 0x28)" * (cast_expression "(uint *)(iVar1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) < identifier)) ))) )) (compound_statement "{\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }" { (expression_statement "iVar21 = *(int *)(local_98 + 0x24);" (assignment_expression "iVar21 = *(int *)(local_98 + 0x24)" identifier = (pointer_expression "*(int *)(local_98 + 0x24)" * (cast_expression "(int *)(local_98 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x24)" ( (binary_expression "local_98 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(uint *)(local_98 + 0x20);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x20)" identifier = (pointer_expression "*(uint *)(local_98 + 0x20)" * (cast_expression "(uint *)(local_98 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }" if (parenthesized_expression "(DAT_000b6324 == 0)" ( (binary_expression "DAT_000b6324 == 0" identifier == number_literal) )) (compound_statement "{\n              local_88 = (void *)FUN_00022830();\n            }" { (expression_statement "local_88 = (void *)FUN_00022830();" (assignment_expression "local_88 = (void *)FUN_00022830()" identifier = (cast_expression "(void *)FUN_00022830()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00022830()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else {\n              local_88 = (void *)FUN_000222e0();\n            }" else (compound_statement "{\n              local_88 = (void *)FUN_000222e0();\n            }" { (expression_statement "local_88 = (void *)FUN_000222e0();" (assignment_expression "local_88 = (void *)FUN_000222e0()" identifier = (cast_expression "(void *)FUN_000222e0()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000222e0()" identifier (argument_list "()" ( ))))) ;) }))) (if_statement "if (local_88 == (void *)0x0) goto LAB_00029604;" if (parenthesized_expression "(local_88 == (void *)0x0)" ( (binary_expression "local_88 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00029604;" goto statement_identifier ;)) (expression_statement "iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48" identifier = (binary_expression "*(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48" (pointer_expression "*(int *)(param_1 + 0x5c)" * (cast_expression "(int *)(param_1 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar1 + 0x28) * 0x48" (pointer_expression "*(int *)(iVar1 + 0x28)" * (cast_expression "(int *)(iVar1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "uVar8 = dcgettext(0,"version string table",5);" (assignment_expression "uVar8 = dcgettext(0,"version string table",5)" identifier = (call_expression "dcgettext(0,"version string table",5)" identifier (argument_list "(0,"version string table",5)" ( number_literal , (string_literal ""version string table"" " string_content ") , number_literal )))) ;) (expression_statement "pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);" (assignment_expression "pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" identifier = (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" identifier (argument_list "(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" ( number_literal , number_literal , (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" * (cast_expression "(undefined4 *)(iVar1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar1 + 0x24)" * (cast_expression "(undefined4 *)(iVar1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }" if (parenthesized_expression "(pvVar9 != (void *)0x0)" ( (binary_expression "pvVar9 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }" { (expression_statement "uVar20 = uVar20 >> 1;" (assignment_expression "uVar20 = uVar20 >> 1" identifier = (binary_expression "uVar20 >> 1" identifier >> number_literal)) ;) (expression_statement "uVar23 = uVar20 | iVar21 << 0x1f;" (assignment_expression "uVar23 = uVar20 | iVar21 << 0x1f" identifier = (binary_expression "uVar20 | iVar21 << 0x1f" identifier | (binary_expression "iVar21 << 0x1f" identifier << number_literal))) ;) (expression_statement "uVar8 = FUN_00022190();" (assignment_expression "uVar8 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" identifier (argument_list "(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" ( number_literal , (string_literal ""\nVersion symbols section \'%s\' contains %lu entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion symbols section \'%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(pcVar10,uVar8,uVar23);" (call_expression "printf(pcVar10,uVar8,uVar23)" identifier (argument_list "(pcVar10,uVar8,uVar23)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0," Addr: ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," Addr: ",5)" identifier = (cast_expression "(char *)dcgettext(0," Addr: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Addr: ",5)" identifier (argument_list "(0," Addr: ",5)" ( number_literal , (string_literal "" Addr: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "puVar4 = PTR_stdout_000b3fd8;" (assignment_expression "puVar4 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14))" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14))" ( (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98 + 0x10)" * (cast_expression "(undefined4 *)(local_98 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x10)" ( (binary_expression "local_98 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x14)" * (cast_expression "(undefined4 *)(local_98 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x14)" ( (binary_expression "local_98 + 0x14" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = FUN_00022190();" (assignment_expression "uVar11 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x18)" * (cast_expression "(undefined4 *)(local_98 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x28)" * (cast_expression "(undefined4 *)(local_98 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar8,uVar12,uVar11);" (call_expression "printf(pcVar10,uVar8,uVar12,uVar11)" identifier (argument_list "(pcVar10,uVar8,uVar12,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar21 = uVar20 * 2;" (assignment_expression "iVar21 = uVar20 * 2" identifier = (binary_expression "uVar20 * 2" identifier * number_literal)) ;) (expression_statement "FUN_00026dc0(iVar21,0);" (call_expression "FUN_00026dc0(iVar21,0)" identifier (argument_list "(iVar21,0)" ( identifier , number_literal ))) ;) (expression_statement "uVar8 = dcgettext(0,"version symbol data",5);" (assignment_expression "uVar8 = dcgettext(0,"version symbol data",5)" identifier = (call_expression "dcgettext(0,"version symbol data",5)" identifier (argument_list "(0,"version symbol data",5)" ( number_literal , (string_literal ""version symbol data"" " string_content ") , number_literal )))) ;) (expression_statement "__ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);" (assignment_expression "__ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8)" identifier = (cast_expression "(void *)FUN_0001bf90(uVar23,0,2,0,uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001bf90(uVar23,0,2,0,uVar8)" identifier (argument_list "(uVar23,0,2,0,uVar8)" ( identifier , number_literal , number_literal , number_literal , identifier ))))) ;) (if_statement "if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }" if (parenthesized_expression "(__ptr == (void *)0x0)" ( (binary_expression "__ptr == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }" { (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" identifier = (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0002929c;" goto statement_identifier ;) })) (expression_statement "__ptr_00 = (void *)FUN_0005dac0(uVar23,2);" (assignment_expression "__ptr_00 = (void *)FUN_0005dac0(uVar23,2)" identifier = (cast_expression "(void *)FUN_0005dac0(uVar23,2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005dac0(uVar23,2)" identifier (argument_list "(uVar23,2)" ( identifier , number_literal ))))) ;) (if_statement "if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (compound_statement "{\n                free(__ptr);\n              }" { (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) }) (else_clause "else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" else (compound_statement "{\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" { (do_statement "do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);" do (compound_statement "{\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                }" { (expression_statement "uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);" (assignment_expression "uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2)" identifier = (call_expression "(*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)__ptr + iVar21 + -2,2)" ( (binary_expression "(int)__ptr + iVar21 + -2" (binary_expression "(int)__ptr + iVar21" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) , number_literal )))) ;) (expression_statement "*(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;" (assignment_expression "*(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5" (pointer_expression "*(undefined2 *)((int)__ptr_00 + iVar21 + -2)" * (cast_expression "(undefined2 *)((int)__ptr_00 + iVar21 + -2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + iVar21 + -2)" ( (binary_expression "(int)__ptr_00 + iVar21 + -2" (binary_expression "(int)__ptr_00 + iVar21" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar21 = iVar21 + -2;" (assignment_expression "iVar21 = iVar21 + -2" identifier = (binary_expression "iVar21 + -2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "local_a4 = 4;" (assignment_expression "local_a4 = 4" identifier = number_literal) ;) (do_statement "do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);" do (compound_statement "{\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                }" { (expression_statement "uVar20 = local_a4 - 4;" (assignment_expression "uVar20 = local_a4 - 4" identifier = (binary_expression "local_a4 - 4" identifier - number_literal)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"*invalid*",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"*invalid*",5)" identifier = (cast_expression "(char *)dcgettext(0,"*invalid*",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"*invalid*",5)" identifier (argument_list "(0,"*invalid*",5)" ( number_literal , (string_literal ""*invalid*"" " string_content ") , number_literal ))))) ;) (expression_statement "printf("  %03x:",uVar20);" (call_expression "printf("  %03x:",uVar20)" identifier (argument_list "("  %03x:",uVar20)" ( (string_literal ""  %03x:"" " string_content ") , identifier ))) ;) (do_statement "do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);" do (compound_statement "{\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  }" { (if_statement "if (uVar23 <= uVar20) break;" if (parenthesized_expression "(uVar23 <= uVar20)" ( (binary_expression "uVar23 <= uVar20" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);" (assignment_expression "uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2)" identifier = (pointer_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(ushort *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) ))))) ;) (if_statement "if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }" { (expression_statement "__stream = *(FILE **)puVar4;" (assignment_expression "__stream = *(FILE **)puVar4" identifier = (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar22 = "   0 (*local*)    ";" (assignment_expression "pcVar22 = "   0 (*local*)    "" identifier = (string_literal ""   0 (*local*)    "" " string_content ")) ;) (labeled_statement "LAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);" statement_identifier : (expression_statement "pcVar22 = (char *)dcgettext(0,pcVar22,5);" (assignment_expression "pcVar22 = (char *)dcgettext(0,pcVar22,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar22,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "fputs(pcVar22,__stream);" (call_expression "fputs(pcVar22,__stream)" identifier (argument_list "(pcVar22,__stream)" ( identifier , identifier ))) ;) }) (else_clause "else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" else (compound_statement "{\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" { (if_statement "if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }" if (parenthesized_expression "(uVar6 == 1)" ( (binary_expression "uVar6 == 1" identifier == number_literal) )) (compound_statement "{\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }" { (expression_statement "__stream = *(FILE **)puVar4;" (assignment_expression "__stream = *(FILE **)puVar4" identifier = (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar22 = "   1 (*global*)   ";" (assignment_expression "pcVar22 = "   1 (*global*)   "" identifier = (string_literal ""   1 (*global*)   "" " string_content ")) ;) (goto_statement "goto LAB_0002a221;" goto statement_identifier ;) })) (expression_statement "local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);" (assignment_expression "local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" identifier = (call_expression "printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" identifier (argument_list "("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" ( (string_literal ""%4x%c"" " string_content ") , (binary_expression "uVar6 & 0x7fff" identifier & number_literal) , (binary_expression "((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20" (parenthesized_expression "((int)(short)uVar6 >> 0x1f & 0x48U)" ( (binary_expression "(int)(short)uVar6 >> 0x1f & 0x48U" (binary_expression "(int)(short)uVar6 >> 0x1f" (cast_expression "(int)(short)uVar6" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)uVar6" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) >> number_literal) & number_literal) )) + number_literal) )))) ;) (if_statement "if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" if (parenthesized_expression "(uVar20 < local_44)" ( (binary_expression "uVar20 < local_44" identifier < identifier) )) (compound_statement "{\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }" { (if_statement "if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" if (parenthesized_expression "(DAT_000b638c == 0 && DAT_000b6388 == 0)" ( (binary_expression "DAT_000b638c == 0 && DAT_000b6388 == 0" (binary_expression "DAT_000b638c == 0" identifier == number_literal) && (binary_expression "DAT_000b6388 == 0" identifier == number_literal)) )) (compound_statement "{\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }" { (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) != number_literal) )) && (parenthesized_expression "(pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)" ( (comma_expression "pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0" (assignment_expression "pcVar22 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "DAT_000b639c != 0 || DAT_000b6398 != 0" (binary_expression "DAT_000b639c != 0" identifier != number_literal) || (binary_expression "DAT_000b6398 != 0" identifier != number_literal))) ))) )) (compound_statement "{\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }" { (labeled_statement "LAB_0002a101:\n                            FUN_00026dc0(0x14,0);" statement_identifier : (expression_statement "FUN_00026dc0(0x14,0);" (call_expression "FUN_00026dc0(0x14,0)" identifier (argument_list "(0x14,0)" ( number_literal , number_literal ))) ;)) (while_statement "while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }" { (expression_statement "uVar8 = dcgettext(0,"version def",5);" (assignment_expression "uVar8 = dcgettext(0,"version def",5)" identifier = (call_expression "dcgettext(0,"version def",5)" identifier (argument_list "(0,"version def",5)" ( number_literal , (string_literal ""version def"" " string_content ") , number_literal )))) ;) (expression_statement "iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8)" identifier = (call_expression "FUN_0001bf90(0x14,0,1,0,uVar8)" identifier (argument_list "(0x14,0,1,0,uVar8)" ( number_literal , number_literal , number_literal , number_literal , identifier )))) ;) (expression_statement "__s = pcVar22;" (assignment_expression "__s = pcVar22" identifier = identifier) ;) (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = (*DAT_000b9dd8)(local_20,4);" (assignment_expression "iVar21 = (*DAT_000b9dd8)(local_20,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_20,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_20,4)" ( identifier , number_literal )))) ;) (expression_statement "uVar6 = (*DAT_000b9dd8)(local_2c,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)(local_2c,2)" identifier = (call_expression "(*DAT_000b9dd8)(local_2c,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_2c,2)" ( identifier , number_literal )))) ;) (if_statement "if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }" if (parenthesized_expression "((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6)" ( (binary_expression "(*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6" (parenthesized_expression "(*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff)" ( (binary_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff" (pointer_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(ushort *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) & number_literal) )) == identifier) )) (compound_statement "{\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }" { (expression_statement "(*DAT_000b9dd8)(local_24,4);" (call_expression "(*DAT_000b9dd8)(local_24,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_24,4)" ( identifier , number_literal ))) ;) (expression_statement "uVar8 = dcgettext(0,"version def aux",5);" (assignment_expression "uVar8 = dcgettext(0,"version def aux",5)" identifier = (call_expression "dcgettext(0,"version def aux",5)" identifier (argument_list "(0,"version def aux",5)" ( number_literal , (string_literal ""version def aux"" " string_content ") , number_literal )))) ;) (expression_statement "iVar21 = FUN_0001bf90(8,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(8,0,1,0,uVar8)" identifier = (call_expression "FUN_0001bf90(8,0,1,0,uVar8)" identifier (argument_list "(8,0,1,0,uVar8)" ( number_literal , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar21 == 0) goto LAB_0002a235;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002a235;" goto statement_identifier ;)) (expression_statement "uVar19 = (*DAT_000b9dd8)(local_40,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)(local_40,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_40,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_40,4)" ( identifier , number_literal )))) ;) (expression_statement "__s = pcVar10;" (assignment_expression "__s = pcVar10" identifier = identifier) ;) (if_statement "if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }" if (parenthesized_expression "(*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20)))" ( (binary_expression "*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "*(int *)(iVar1 + 0x24) != 0" (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) != number_literal) || (binary_expression "(uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "(uint)-*(int *)(iVar1 + 0x24)" (parenthesized_expression "(uint)" ( identifier )) - (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))) < (call_expression "(uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < *(uint *)(iVar1 + 0x20))" ( (binary_expression "uVar19 < *(uint *)(iVar1 + 0x20)" identifier < (pointer_expression "*(uint *)(iVar1 + 0x20)" * (cast_expression "(uint *)(iVar1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) ))))) ))))) )) (compound_statement "{\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }" { (if_statement "if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" if (parenthesized_expression "((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22))" ( (binary_expression "(pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)" (parenthesized_expression "(pcVar22 == (char *)0x0)" ( (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar10 == pcVar22)" ( (binary_expression "pcVar10 == pcVar22" identifier == identifier) ))) )) (compound_statement "{\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }" { (expression_statement "__s = (char *)((int)pvVar9 + uVar19);" (assignment_expression "__s = (char *)((int)pvVar9 + uVar19)" identifier = (cast_expression "(char *)((int)pvVar9 + uVar19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar9 + uVar19)" ( (binary_expression "(int)pvVar9 + uVar19" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" else (compound_statement "{\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" { (expression_statement "__s = (char *)dcgettext(0,"*both*",5);" (assignment_expression "__s = (char *)dcgettext(0,"*both*",5)" identifier = (cast_expression "(char *)dcgettext(0,"*both*",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"*both*",5)" identifier (argument_list "(0,"*both*",5)" ( number_literal , (string_literal ""*both*"" " string_content ") , number_literal ))))) ;) }))) })) (break_statement "break;" break ;) })) (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) })) (labeled_statement "LAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" statement_identifier : (if_statement "if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" { (expression_statement "sVar17 = strlen(__s);" (assignment_expression "sVar17 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");" (assignment_expression "iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")")" identifier = (call_expression "printf("(%s%-*s",__s,0xc - sVar17,")")" identifier (argument_list "("(%s%-*s",__s,0xc - sVar17,")")" ( (string_literal ""(%s%-*s"" " string_content ") , identifier , (binary_expression "0xc - sVar17" number_literal - identifier) , (string_literal "")"" " string_content ") )))) ;) (expression_statement "local_8c = local_8c + iVar21;" (assignment_expression "local_8c = local_8c + iVar21" identifier = (binary_expression "local_8c + iVar21" identifier + identifier)) ;) }))) })) }) (else_clause "else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" else (compound_statement "{\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" { (expression_statement "FUN_00026dc0(0x10,0);" (call_expression "FUN_00026dc0(0x10,0)" identifier (argument_list "(0x10,0)" ( number_literal , number_literal ))) ;) (do_statement "do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);" do (compound_statement "{\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          }" { (expression_statement "uVar8 = dcgettext(0,"version need",5);" (assignment_expression "uVar8 = dcgettext(0,"version need",5)" identifier = (call_expression "dcgettext(0,"version need",5)" identifier (argument_list "(0,"version need",5)" ( number_literal , (string_literal ""version need"" " string_content ") , number_literal )))) ;) (expression_statement "iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8)" identifier = (call_expression "FUN_0001bf90(0x10,0,1,0,uVar8)" identifier (argument_list "(0x10,0,1,0,uVar8)" ( number_literal , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }" { (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) == number_literal) )) || (parenthesized_expression "(DAT_000b639c == 0 && DAT_000b6398 == 0)" ( (binary_expression "DAT_000b639c == 0 && DAT_000b6398 == 0" (binary_expression "DAT_000b639c == 0" identifier == number_literal) && (binary_expression "DAT_000b6398 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0002a1e4;" goto statement_identifier ;)) (expression_statement "pcVar22 = (char *)0x0;" (assignment_expression "pcVar22 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) (expression_statement "(*DAT_000b9dd8)(local_38,4);" (call_expression "(*DAT_000b9dd8)(local_38,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_38,4)" ( identifier , number_literal ))) ;) (expression_statement "iVar21 = (*DAT_000b9dd8)(local_34,4);" (assignment_expression "iVar21 = (*DAT_000b9dd8)(local_34,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_34,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_34,4)" ( identifier , number_literal )))) ;) (do_statement "do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);" do (compound_statement "{\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            }" { (expression_statement "uVar8 = dcgettext(0,"version need aux (2)",5);" (assignment_expression "uVar8 = dcgettext(0,"version need aux (2)",5)" identifier = (call_expression "dcgettext(0,"version need aux (2)",5)" identifier (argument_list "(0,"version need aux (2)",5)" ( number_literal , (string_literal ""version need aux (2)"" " string_content ") , number_literal )))) ;) (expression_statement "iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);" (assignment_expression "iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8)" identifier = (call_expression "FUN_0001bf90(0x10,0,1,0,uVar8)" identifier (argument_list "(0x10,0,1,0,uVar8)" ( number_literal , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }" { (if_statement "if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }" if (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == 0)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == 0" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }" { (labeled_statement "LAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);" statement_identifier : (expression_statement "uVar19 = (*DAT_000b9dd8)(local_28,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)(local_28,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,4)" ( identifier , number_literal )))) ;)) (expression_statement "pcVar22 = pcVar10;" (assignment_expression "pcVar22 = pcVar10" identifier = identifier) ;) (if_statement "if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }" if (parenthesized_expression "(*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20)))" ( (binary_expression "*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "*(int *)(iVar1 + 0x24) != 0" (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) != number_literal) || (binary_expression "(uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "(uint)-*(int *)(iVar1 + 0x24)" (parenthesized_expression "(uint)" ( identifier )) - (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))) < (call_expression "(uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < *(uint *)(iVar1 + 0x20))" ( (binary_expression "uVar19 < *(uint *)(iVar1 + 0x20)" identifier < (pointer_expression "*(uint *)(iVar1 + 0x20)" * (cast_expression "(uint *)(iVar1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) ))))) ))))) )) (compound_statement "{\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }" { (expression_statement "pcVar22 = (char *)((int)pvVar9 + uVar19);" (assignment_expression "pcVar22 = (char *)((int)pvVar9 + uVar19)" identifier = (cast_expression "(char *)((int)pvVar9 + uVar19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar9 + uVar19)" ( (binary_expression "(int)pvVar9 + uVar19" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "__s = pcVar22;" (assignment_expression "__s = pcVar22" identifier = identifier) ;) (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) == number_literal) )) || (parenthesized_expression "(DAT_000b639c == 0 && DAT_000b6398 == 0)" ( (binary_expression "DAT_000b639c == 0 && DAT_000b6398 == 0" (binary_expression "DAT_000b639c == 0" identifier == number_literal) && (binary_expression "DAT_000b6398 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0002a1b1;" goto statement_identifier ;)) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "iVar18 = (*DAT_000b9dd8)(local_24,4);" (assignment_expression "iVar18 = (*DAT_000b9dd8)(local_24,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_24,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_24,4)" ( identifier , number_literal )))) ;) (expression_statement "sVar7 = (*DAT_000b9dd8)(local_2a,2);" (assignment_expression "sVar7 = (*DAT_000b9dd8)(local_2a,2)" identifier = (call_expression "(*DAT_000b9dd8)(local_2a,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_2a,2)" ( identifier , number_literal )))) ;) (if_statement "if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;" if (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) == identifier) )) (goto_statement "goto LAB_0002a449;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) ;) }) while (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) ;) (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) != number_literal) )) && (parenthesized_expression "(DAT_000b639c != 0 || DAT_000b6398 != 0)" ( (binary_expression "DAT_000b639c != 0 || DAT_000b6398 != 0" (binary_expression "DAT_000b639c != 0" identifier != number_literal) || (binary_expression "DAT_000b6398 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }" { (expression_statement "pcVar22 = (char *)0x0;" (assignment_expression "pcVar22 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" statement_identifier : (if_statement "if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" if (parenthesized_expression "((int)local_8c < 0x12)" ( (binary_expression "(int)local_8c < 0x12" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" { (expression_statement "printf("%*c",0x12 - local_8c,0x20);" (call_expression "printf("%*c",0x12 - local_8c,0x20)" identifier (argument_list "("%*c",0x12 - local_8c,0x20)" ( (string_literal ""%*c"" " string_content ") , (binary_expression "0x12 - local_8c" number_literal - identifier) , number_literal ))) ;) }))) }) (else_clause "else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" else (compound_statement "{\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" { (expression_statement "uVar8 = dcgettext(0,"invalid index into symbol array\n",5);" (assignment_expression "uVar8 = dcgettext(0,"invalid index into symbol array\n",5)" identifier = (call_expression "dcgettext(0,"invalid index into symbol array\n",5)" identifier (argument_list "(0,"invalid index into symbol array\n",5)" ( number_literal , (string_literal ""invalid index into symbol array\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0002a235:\n                    uVar20 = uVar20 + 1;" statement_identifier : (expression_statement "uVar20 = uVar20 + 1;" (assignment_expression "uVar20 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_a4 != uVar20)" ( (binary_expression "local_a4 != uVar20" identifier != identifier) )) ;) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" identifier (argument_list "(10,*(FILE **)puVar4)" ( number_literal , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "bVar2 = local_a4 < uVar23;" (assignment_expression "bVar2 = local_a4 < uVar23" identifier = (binary_expression "local_a4 < uVar23" identifier < identifier)) ;) (expression_statement "local_a4 = local_a4 + 4;" (assignment_expression "local_a4 = local_a4 + 4" identifier = (binary_expression "local_a4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar2)" ( identifier )) ;) }))) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) })) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" else (if_statement "if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(iVar1 == 0x6ffffffd)" ( (binary_expression "iVar1 == 0x6ffffffd" identifier == number_literal) )) (compound_statement "{\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" { (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" * (cast_expression "(undefined4 *)(local_98 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" identifier = (cast_expression "(char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" identifier (argument_list "(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" ( number_literal , (string_literal ""\nVersion definition section \'%s\' contains %u entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion definition section \'%s\' contains %u entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" * (cast_expression "(undefined4 *)(local_98 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12,uVar8);" (call_expression "printf(pcVar10,uVar12,uVar8)" identifier (argument_list "(pcVar10,uVar12,uVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Addr: 0x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Addr: 0x",5)" identifier (argument_list "(0,"  Addr: 0x",5)" ( number_literal , (string_literal ""  Addr: 0x"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" ( (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98 + 0x10)" * (cast_expression "(undefined4 *)(local_98 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x10)" ( (binary_expression "local_98 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x14)" * (cast_expression "(undefined4 *)(local_98 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x14)" ( (binary_expression "local_98 + 0x14" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = FUN_00023d10();" (assignment_expression "uVar11 = FUN_00023d10()" identifier = (call_expression "FUN_00023d10()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x28)" * (cast_expression "(undefined4 *)(local_98 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x18)" * (cast_expression "(undefined4 *)(local_98 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12,uVar8,uVar11);" (call_expression "printf(pcVar10,uVar12,uVar8,uVar11)" identifier (argument_list "(pcVar10,uVar12,uVar8,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = dcgettext(0,"version definition section",5);" (assignment_expression "uVar8 = dcgettext(0,"version definition section",5)" identifier = (call_expression "dcgettext(0,"version definition section",5)" identifier (argument_list "(0,"version definition section",5)" ( number_literal , (string_literal ""version definition section"" " string_content ") , number_literal )))) ;) (expression_statement "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);" (assignment_expression "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" identifier = (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" identifier (argument_list "(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" ( number_literal , number_literal , (pointer_expression "*(undefined4 *)(local_98 + 0x20)" * (cast_expression "(undefined4 *)(local_98 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x24)" * (cast_expression "(undefined4 *)(local_98 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x24)" ( (binary_expression "local_98 + 0x24" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (local_88 == (void *)0x0) goto LAB_00029604;" if (parenthesized_expression "(local_88 == (void *)0x0)" ( (binary_expression "local_88 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00029604;" goto statement_identifier ;)) (expression_statement "iVar1 = *(int *)(local_98 + 0x20);" (assignment_expression "iVar1 = *(int *)(local_98 + 0x20)" identifier = (pointer_expression "*(int *)(local_98 + 0x20)" * (cast_expression "(int *)(local_98 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = (int)local_88 + iVar1;" (assignment_expression "uVar23 = (int)local_88 + iVar1" identifier = (binary_expression "(int)local_88 + iVar1" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }" { (if_statement "if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" if (parenthesized_expression "(uVar23 < (int)local_88 + 0x14U)" ( (binary_expression "uVar23 < (int)local_88 + 0x14U" identifier < (binary_expression "(int)local_88 + 0x14U" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) )) (compound_statement "{\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;" statement_identifier : (if_statement "if (uVar20 <= local_94) goto LAB_00029a35;" if (parenthesized_expression "(uVar20 <= local_94)" ( (binary_expression "uVar20 <= local_94" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;))) }) (else_clause "else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" else (compound_statement "{\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "pvVar9 = local_88;" (assignment_expression "pvVar9 = local_88" identifier = identifier) ;) (do_statement "do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);" do (compound_statement "{\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              }" { (expression_statement "uVar20 = (*DAT_000b9dd8)(pvVar9,2);" (assignment_expression "uVar20 = (*DAT_000b9dd8)(pvVar9,2)" identifier = (call_expression "(*DAT_000b9dd8)(pvVar9,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pvVar9,2)" ( identifier , number_literal )))) ;) (expression_statement "(*DAT_000b9dd8)((int)pvVar9 + 2,2);" (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 2,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 2,2)" ( (binary_expression "(int)pvVar9 + 2" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);" (assignment_expression "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 4,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 4,2)" ( (binary_expression "(int)pvVar9 + 4" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 6,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 6,2)" ( (binary_expression "(int)pvVar9 + 6" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "(*DAT_000b9dd8)((int)pvVar9 + 8,4);" (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 8,4)" ( (binary_expression "(int)pvVar9 + 8" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 0xc,4)" ( (binary_expression "(int)pvVar9 + 0xc" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);" (assignment_expression "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0x10,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 0x10,4)" ( (binary_expression "(int)pvVar9 + 0x10" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar8 = FUN_0001fa80();" (assignment_expression "uVar8 = FUN_0001fa80()" identifier = (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" identifier (argument_list "(0,"  %#06lx: Rev: %d  Flags: %s",5)" ( number_literal , (string_literal ""  %#06lx: Rev: %d  Flags: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);" (call_expression "printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8)" identifier (argument_list "(pcVar10,local_9c,uVar20 & 0xffff,uVar8)" ( identifier , identifier , (binary_expression "uVar20 & 0xffff" identifier & number_literal) , identifier ))) ;) (expression_statement "uVar20 = (uint)uVar6;" (assignment_expression "uVar20 = (uint)uVar6" identifier = (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Index: %d  Cnt: %d  ",5)" identifier (argument_list "(0,"  Index: %d  Cnt: %d  ",5)" ( number_literal , (string_literal ""  Index: %d  Cnt: %d  "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar19 & 0xffff,uVar20);" (call_expression "printf(pcVar10,uVar19 & 0xffff,uVar20)" identifier (argument_list "(pcVar10,uVar19 & 0xffff,uVar20)" ( identifier , (binary_expression "uVar19 & 0xffff" identifier & number_literal) , identifier ))) ;) (expression_statement "uVar19 = iVar1 - local_9c;" (assignment_expression "uVar19 = iVar1 - local_9c" identifier = (binary_expression "iVar1 - local_9c" identifier - identifier)) ;) (if_statement "if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }" if (parenthesized_expression "((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U))" ( (binary_expression "(uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)" (parenthesized_expression "(uVar19 < uVar13)" ( (binary_expression "uVar19 < uVar13" identifier < identifier) )) || (parenthesized_expression "(iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)" ( (comma_expression "iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U" (assignment_expression "iVar21 = (int)pvVar9 + uVar13" identifier = (binary_expression "(int)pvVar9 + uVar13" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) , (binary_expression "uVar23 < iVar21 + 8U" identifier < (binary_expression "iVar21 + 8U" identifier + number_literal))) ))) )) (compound_statement "{\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }" { (if_statement "if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;" if (parenthesized_expression "(*(uint *)(local_98 + 0x2c) <= local_94)" ( (binary_expression "*(uint *)(local_98 + 0x2c) <= local_94" (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "uVar15 = (*DAT_000b9dd8)(iVar21,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(iVar21,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21,4)" ( identifier , number_literal )))) ;) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 4,4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" if (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15))" ( (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)" (parenthesized_expression "(DAT_000b7538 == 0)" ( (binary_expression "DAT_000b7538 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000b7534 <= uVar15)" ( (binary_expression "DAT_000b7534 <= uVar15" identifier <= identifier) ))) )) (compound_statement "{\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Name index: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Name index: %ld\n",5)" identifier (argument_list "(0,"Name index: %ld\n",5)" ( number_literal , (string_literal ""Name index: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" else (compound_statement "{\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" { (expression_statement "uVar15 = uVar15 + DAT_000b7538;" (assignment_expression "uVar15 = uVar15 + DAT_000b7538" identifier = (binary_expression "uVar15 + DAT_000b7538" identifier + identifier)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Name: %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Name: %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Name: %s\n",5)" identifier (argument_list "(0,"Name: %s\n",5)" ( number_literal , (string_literal ""Name: %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) }))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "printf(pcVar10,uVar15);" (call_expression "printf(pcVar10,uVar15)" identifier (argument_list "(pcVar10,uVar15)" ( identifier , identifier ))) ;) (expression_statement "local_bc = uVar13 + local_9c;" (assignment_expression "local_bc = uVar13 + local_9c" identifier = (binary_expression "uVar13 + local_9c" identifier + identifier)) ;) (if_statement "if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }" if (parenthesized_expression "(1 < uVar6)" ( (binary_expression "1 < uVar6" number_literal < identifier) )) (compound_statement "{\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }" { (do_statement "do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);" do (compound_statement "{\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  }" { (if_statement "if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }" if (parenthesized_expression "(7 < uVar16)" ( (binary_expression "7 < uVar16" number_literal < identifier) )) (compound_statement "{\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }" { (if_statement "if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;" if (parenthesized_expression "(uVar16 <= uVar23 - iVar21)" ( (binary_expression "uVar16 <= uVar23 - iVar21" identifier <= (binary_expression "uVar23 - iVar21" identifier - identifier)) )) (goto_statement "goto LAB_00029912;" goto statement_identifier ;)) (labeled_statement "LAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);" statement_identifier : (expression_statement "pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version def aux past end of section\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version def aux past end of section\n",5)" identifier (argument_list "(0,"  Version def aux past end of section\n",5)" ( number_literal , (string_literal ""  Version def aux past end of section\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (break_statement "break;" break ;) })) (if_statement "if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }" if (parenthesized_expression "((uVar20 - 1 != uVar24) || (uVar16 != 0))" ( (binary_expression "(uVar20 - 1 != uVar24) || (uVar16 != 0)" (parenthesized_expression "(uVar20 - 1 != uVar24)" ( (binary_expression "uVar20 - 1 != uVar24" (binary_expression "uVar20 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }" { (expression_statement "uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5)" identifier = (call_expression "dcgettext(0,"Invalid vda_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vda_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vda_next field of %lx\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8,uVar16);" (call_expression "warn(uVar8,uVar16)" identifier (argument_list "(uVar8,uVar16)" ( identifier , identifier ))) ;) (break_statement "break;" break ;) })) (labeled_statement "LAB_00029912:\n                    iVar21 = iVar21 + uVar16;" statement_identifier : (expression_statement "iVar21 = iVar21 + uVar16;" (assignment_expression "iVar21 = iVar21 + uVar16" identifier = (binary_expression "iVar21 + uVar16" identifier + identifier)) ;)) (expression_statement "local_bc = local_bc + uVar16;" (assignment_expression "local_bc = local_bc + uVar16" identifier = (binary_expression "local_bc + uVar16" identifier + identifier)) ;) (if_statement "if (uVar23 < iVar21 + 8U) goto LAB_0002999f;" if (parenthesized_expression "(uVar23 < iVar21 + 8U)" ( (binary_expression "uVar23 < iVar21 + 8U" identifier < (binary_expression "iVar21 + 8U" identifier + number_literal)) )) (goto_statement "goto LAB_0002999f;" goto statement_identifier ;)) (expression_statement "uVar13 = (*DAT_000b9dd8)(iVar21,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)(iVar21,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21,4)" ( identifier , number_literal )))) ;) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 4,4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) , number_literal )))) ;) (expression_statement "iVar18 = DAT_000b7538;" (assignment_expression "iVar18 = DAT_000b7538" identifier = identifier) ;) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" if (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13))" ( (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)" (parenthesized_expression "(DAT_000b7538 == 0)" ( (binary_expression "DAT_000b7538 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000b7534 <= uVar13)" ( (binary_expression "DAT_000b7534 <= uVar13" identifier <= identifier) ))) )) (compound_statement "{\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" identifier (argument_list "(0,"  %#06lx: Parent %d, name index: %ld\n",5)" ( number_literal , (string_literal ""  %#06lx: Parent %d, name index: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_bc,uVar24,uVar13);" (call_expression "printf(pcVar10,local_bc,uVar24,uVar13)" identifier (argument_list "(pcVar10,local_bc,uVar24,uVar13)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" else (compound_statement "{\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" identifier (argument_list "(0,"  %#06lx: Parent %d: %s\n",5)" ( number_literal , (string_literal ""  %#06lx: Parent %d: %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);" (call_expression "printf(pcVar10,local_bc,uVar24,uVar13 + iVar18)" identifier (argument_list "(pcVar10,local_bc,uVar24,uVar13 + iVar18)" ( identifier , identifier , identifier , (binary_expression "uVar13 + iVar18" identifier + identifier) ))) ;) }))) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar20 != uVar24)" ( (binary_expression "uVar20 != uVar24" identifier != identifier) )) ;) })) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;" if (parenthesized_expression "(uVar14 < 0x14)" ( (binary_expression "uVar14 < 0x14" identifier < number_literal) )) (compound_statement "{\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }" { (if_statement "if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }" if (parenthesized_expression "((uVar20 - 1 != local_94) || (uVar14 != 0))" ( (binary_expression "(uVar20 - 1 != local_94) || (uVar14 != 0)" (parenthesized_expression "(uVar20 - 1 != local_94)" ( (binary_expression "uVar20 - 1 != local_94" (binary_expression "uVar20 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }" { (expression_statement "uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5)" identifier = (call_expression "dcgettext(0,"Invalid vd_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vd_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vd_next field of %lx\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8,uVar14);" (call_expression "warn(uVar8,uVar14)" identifier (argument_list "(uVar8,uVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if (uVar19 < uVar14) goto LAB_00029a9e;" else (if_statement "if (uVar19 < uVar14) goto LAB_00029a9e;" if (parenthesized_expression "(uVar19 < uVar14)" ( (binary_expression "uVar19 < uVar14" identifier < identifier) )) (goto_statement "goto LAB_00029a9e;" goto statement_identifier ;)))) (expression_statement "local_94 = local_94 + 1;" (assignment_expression "local_94 = local_94 + 1" identifier = (binary_expression "local_94 + 1" identifier + number_literal)) ;) (expression_statement "local_9c = local_9c + uVar14;" (assignment_expression "local_9c = local_9c + uVar14" identifier = (binary_expression "local_9c + uVar14" identifier + identifier)) ;) (if_statement "if (uVar20 <= local_94) goto LAB_00029a35;" if (parenthesized_expression "(uVar20 <= local_94)" ( (binary_expression "uVar20 <= local_94" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (expression_statement "pvVar9 = (void *)((int)local_88 + local_9c);" (assignment_expression "pvVar9 = (void *)((int)local_88 + local_9c)" identifier = (cast_expression "(void *)((int)local_88 + local_9c)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_88 + local_9c)" ( (binary_expression "(int)local_88 + local_9c" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((int)pvVar9 + 0x14U <= uVar23)" ( (binary_expression "(int)pvVar9 + 0x14U <= uVar23" (binary_expression "(int)pvVar9 + 0x14U" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) <= identifier) )) ;) }))) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version definition past end of section\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version definition past end of section\n",5)" identifier (argument_list "(0,"  Version definition past end of section\n",5)" ( number_literal , (string_literal ""  Version definition past end of section\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) })) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })))))) (labeled_statement "LAB_0002929c:\n        local_80 = local_80 + 1;" statement_identifier : (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;)) (expression_statement "local_98 = local_98 + 0x48;" (assignment_expression "local_98 = local_98 + 0x48" identifier = (binary_expression "local_98 + 0x48" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_80 < uVar20)" ( (binary_expression "local_80 < uVar20" identifier < identifier) )) ;) (if_statement "if (bVar2) {\n        return 1;\n      }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nNo version information found in this file.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nNo version information found in this file.\n",5)" identifier (argument_list "(0,"\nNo version information found in this file.\n",5)" ( number_literal , (string_literal ""\nNo version information found in this file.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nbfd_boolean __regparm3 process_version_sections(Filedata *filedata)\n\n{\n  int *piVar1;\n  Filedata *filedata_1;\n  ushort uVar2;\n  FILE *pFVar3;\n  int iVar4;\n  Elf_Internal_Shdr *pEVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  bfd_vma bVar8;\n  bfd_size_type bVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  void *__ptr;\n  char *pcVar13;\n  char *pcVar14;\n  wchar_t offset;\n  void *pvVar15;\n  elf_vma eVar25;\n  elf_vma eVar29;\n  elf_vma eVar30;\n  void *__ptr_00;\n  elf_vma eVar26;\n  elf_vma eVar27;\n  char *pcVar16;\n  size_t sVar17;\n  elf_vma eVar28;\n  int iVar18;\n  Elf_Internal_Sym *pEVar19;\n  uchar *puVar20;\n  uint uVar21;\n  FILE *__stream;\n  ulong offset_00;\n  uint uVar22;\n  uchar *puVar23;\n  undefined4 uVar24;\n  Elf_External_Vernaux *local_c4;\n  int local_bc;\n  wchar_t local_b8;\n  uint local_a4;\n  wchar_t local_9c;\n  Filedata *local_98;\n  uint local_94;\n  uint local_8c;\n  Elf_Internal_Sym *local_88;\n  uint local_80;\n  ulong num_syms;\n  Elf_External_Verneed evn;\n  Elf_External_Vernaux evna;\n  uchar local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar10 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (do_version != 0) {\n    local_98 = (Filedata *)filedata->section_headers;\n    bVar7 = false;\n    uVar21 = (filedata->file_header).e_shnum;\n    local_80 = 0;\n    if (uVar21 != 0) {\n      do {\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      } while (local_80 < uVar21);\n      if (bVar7) {\n        return 1;\n      }\n    }\n    pcVar12 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar12);\n  }\n  return 1;\n}\n\n" comment comment (function_definition "bfd_boolean __regparm3 process_version_sections(Filedata *filedata)\n\n{\n  int *piVar1;\n  Filedata *filedata_1;\n  ushort uVar2;\n  FILE *pFVar3;\n  int iVar4;\n  Elf_Internal_Shdr *pEVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  bfd_vma bVar8;\n  bfd_size_type bVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  void *__ptr;\n  char *pcVar13;\n  char *pcVar14;\n  wchar_t offset;\n  void *pvVar15;\n  elf_vma eVar25;\n  elf_vma eVar29;\n  elf_vma eVar30;\n  void *__ptr_00;\n  elf_vma eVar26;\n  elf_vma eVar27;\n  char *pcVar16;\n  size_t sVar17;\n  elf_vma eVar28;\n  int iVar18;\n  Elf_Internal_Sym *pEVar19;\n  uchar *puVar20;\n  uint uVar21;\n  FILE *__stream;\n  ulong offset_00;\n  uint uVar22;\n  uchar *puVar23;\n  undefined4 uVar24;\n  Elf_External_Vernaux *local_c4;\n  int local_bc;\n  wchar_t local_b8;\n  uint local_a4;\n  wchar_t local_9c;\n  Filedata *local_98;\n  uint local_94;\n  uint local_8c;\n  Elf_Internal_Sym *local_88;\n  uint local_80;\n  ulong num_syms;\n  Elf_External_Verneed evn;\n  Elf_External_Vernaux evna;\n  uchar local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar10 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (do_version != 0) {\n    local_98 = (Filedata *)filedata->section_headers;\n    bVar7 = false;\n    uVar21 = (filedata->file_header).e_shnum;\n    local_80 = 0;\n    if (uVar21 != 0) {\n      do {\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      } while (local_80 < uVar21);\n      if (bVar7) {\n        return 1;\n      }\n    }\n    pcVar12 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar12);\n  }\n  return 1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "process_version_sections(Filedata *filedata)" identifier (parameter_list "(Filedata *filedata)" ( (parameter_declaration "Filedata *filedata" type_identifier (pointer_declarator "*filedata" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  Filedata *filedata_1;\n  ushort uVar2;\n  FILE *pFVar3;\n  int iVar4;\n  Elf_Internal_Shdr *pEVar5;\n  undefined4 uVar6;\n  bool bVar7;\n  bfd_vma bVar8;\n  bfd_size_type bVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  char *pcVar12;\n  void *__ptr;\n  char *pcVar13;\n  char *pcVar14;\n  wchar_t offset;\n  void *pvVar15;\n  elf_vma eVar25;\n  elf_vma eVar29;\n  elf_vma eVar30;\n  void *__ptr_00;\n  elf_vma eVar26;\n  elf_vma eVar27;\n  char *pcVar16;\n  size_t sVar17;\n  elf_vma eVar28;\n  int iVar18;\n  Elf_Internal_Sym *pEVar19;\n  uchar *puVar20;\n  uint uVar21;\n  FILE *__stream;\n  ulong offset_00;\n  uint uVar22;\n  uchar *puVar23;\n  undefined4 uVar24;\n  Elf_External_Vernaux *local_c4;\n  int local_bc;\n  wchar_t local_b8;\n  uint local_a4;\n  wchar_t local_9c;\n  Filedata *local_98;\n  uint local_94;\n  uint local_8c;\n  Elf_Internal_Sym *local_88;\n  uint local_80;\n  ulong num_syms;\n  Elf_External_Verneed evn;\n  Elf_External_Vernaux evna;\n  uchar local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar10 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (do_version != 0) {\n    local_98 = (Filedata *)filedata->section_headers;\n    bVar7 = false;\n    uVar21 = (filedata->file_header).e_shnum;\n    local_80 = 0;\n    if (uVar21 != 0) {\n      do {\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      } while (local_80 < uVar21);\n      if (bVar7) {\n        return 1;\n      }\n    }\n    pcVar12 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar12);\n  }\n  return 1;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "Filedata *filedata_1;" type_identifier (pointer_declarator "*filedata_1" * identifier) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "FILE *pFVar3;" type_identifier (pointer_declarator "*pFVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "Elf_Internal_Shdr *pEVar5;" type_identifier (pointer_declarator "*pEVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bfd_vma bVar8;" type_identifier identifier ;) (declaration "bfd_size_type bVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "wchar_t offset;" type_identifier identifier ;) (declaration "void *pvVar15;" primitive_type (pointer_declarator "*pvVar15" * identifier) ;) (declaration "elf_vma eVar25;" type_identifier identifier ;) (declaration "elf_vma eVar29;" type_identifier identifier ;) (declaration "elf_vma eVar30;" type_identifier identifier ;) (declaration "void *__ptr_00;" primitive_type (pointer_declarator "*__ptr_00" * identifier) ;) (declaration "elf_vma eVar26;" type_identifier identifier ;) (declaration "elf_vma eVar27;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "elf_vma eVar28;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "Elf_Internal_Sym *pEVar19;" type_identifier (pointer_declarator "*pEVar19" * identifier) ;) (declaration "uchar *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "ulong offset_00;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uchar *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 uVar24;" type_identifier identifier ;) (declaration "Elf_External_Vernaux *local_c4;" type_identifier (pointer_declarator "*local_c4" * identifier) ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "wchar_t local_b8;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "wchar_t local_9c;" type_identifier identifier ;) (declaration "Filedata *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "Elf_Internal_Sym *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "ulong num_syms;" type_identifier identifier ;) (declaration "Elf_External_Verneed evn;" type_identifier identifier ;) (declaration "Elf_External_Vernaux evna;" type_identifier identifier ;) (declaration "uchar local_20 [12];" type_identifier (array_declarator "local_20 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar10 = PTR_stdout_000b3fd8;" (assignment_expression "puVar10 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "uStack_14 = 0x29239;" (assignment_expression "uStack_14 = 0x29239" identifier = number_literal) ;) (if_statement "if (do_version != 0) {\n    local_98 = (Filedata *)filedata->section_headers;\n    bVar7 = false;\n    uVar21 = (filedata->file_header).e_shnum;\n    local_80 = 0;\n    if (uVar21 != 0) {\n      do {\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      } while (local_80 < uVar21);\n      if (bVar7) {\n        return 1;\n      }\n    }\n    pcVar12 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar12);\n  }" if (parenthesized_expression "(do_version != 0)" ( (binary_expression "do_version != 0" identifier != number_literal) )) (compound_statement "{\n    local_98 = (Filedata *)filedata->section_headers;\n    bVar7 = false;\n    uVar21 = (filedata->file_header).e_shnum;\n    local_80 = 0;\n    if (uVar21 != 0) {\n      do {\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      } while (local_80 < uVar21);\n      if (bVar7) {\n        return 1;\n      }\n    }\n    pcVar12 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar12);\n  }" { (expression_statement "local_98 = (Filedata *)filedata->section_headers;" (assignment_expression "local_98 = (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))) ;) (expression_statement "bVar7 = false;" (assignment_expression "bVar7 = false" identifier = false) ;) (expression_statement "uVar21 = (filedata->file_header).e_shnum;" (assignment_expression "uVar21 = (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)) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (if_statement "if (uVar21 != 0) {\n      do {\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      } while (local_80 < uVar21);\n      if (bVar7) {\n        return 1;\n      }\n    }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      } while (local_80 < uVar21);\n      if (bVar7) {\n        return 1;\n      }\n    }" { (do_statement "do {\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      } while (local_80 < uVar21);" do (compound_statement "{\n        pFVar3 = local_98->handle;\n        if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = (Filedata *)&(local_98->file_header).e_phentsize;\n      }" { (expression_statement "pFVar3 = local_98->handle;" (assignment_expression "pFVar3 = local_98->handle" identifier = (field_expression "local_98->handle" identifier -> field_identifier)) ;) (if_statement "if (pFVar3 == (FILE *)0x6ffffffe) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(pFVar3 == (FILE *)0x6ffffffe)" ( (binary_expression "pFVar3 == (FILE *)0x6ffffffe" identifier == (cast_expression "(FILE *)0x6ffffffe" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"Version Needs section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n        }" { (expression_statement "uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);" (assignment_expression "uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);" (assignment_expression "pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" identifier = (call_expression "printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" identifier (argument_list "((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" ( (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 "pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;" (assignment_expression "pcVar13 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)" identifier = (cast_expression "(char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)" identifier (argument_list "(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)" ( number_literal , (string_literal ""\nVersion needs section \'%s\' contains %u entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion needs section \'%s\' contains %u entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) , number_literal ))))) ;) (expression_statement "printf(pcVar13,pcVar12,uVar6);" (call_expression "printf(pcVar13,pcVar12,uVar6)" identifier (argument_list "(pcVar13,pcVar12,uVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0," Addr: 0x",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0," Addr: 0x",5)" identifier = (cast_expression "(char *)dcgettext(0," Addr: 0x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Addr: 0x",5)" identifier (argument_list "(0," Addr: 0x",5)" ( number_literal , (string_literal "" Addr: 0x"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar12);" (call_expression "printf(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));" (call_expression "fprintf(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4))" identifier (argument_list "(*(FILE **)puVar10,"%016llx",*(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4))" ( (pointer_expression "*(FILE **)puVar10" * (cast_expression "(FILE **)puVar10" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98->file_header).e_ident" * (cast_expression "(undefined4 *)(local_98->file_header).e_ident" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) , (pointer_expression "*(undefined4 *)((local_98->file_header).e_ident + 4)" * (cast_expression "(undefined4 *)((local_98->file_header).e_ident + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_98->file_header).e_ident + 4)" ( (binary_expression "(local_98->file_header).e_ident + 4" (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ))) ;) (expression_statement "pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);" (assignment_expression "pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff)" identifier = (call_expression "printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff)" identifier (argument_list "(filedata,(ulong)(local_98->file_header).e_phoff)" ( identifier , (field_expression "(ulong)(local_98->file_header).e_phoff" (call_expression "(ulong)(local_98->file_header)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) ))) . field_identifier) )))) ;) (expression_statement "bVar9 = (local_98->file_header).e_phoff;" (assignment_expression "bVar9 = (local_98->file_header).e_phoff" identifier = (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);" (assignment_expression "uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8)" identifier = (pointer_expression "*(undefined4 *)((local_98->file_header).e_ident + 8)" * (cast_expression "(undefined4 *)((local_98->file_header).e_ident + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_98->file_header).e_ident + 8)" ( (binary_expression "(local_98->file_header).e_ident + 8" (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) ))))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,uVar6,(int)bVar9,pcVar12);" (call_expression "printf(pcVar13,uVar6,(int)bVar9,pcVar12)" identifier (argument_list "(pcVar13,uVar6,(int)bVar9,pcVar12)" ( identifier , identifier , (cast_expression "(int)bVar9" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0,"Version Needs section",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Version Needs section",5)" identifier = (cast_expression "(char *)dcgettext(0,"Version Needs section",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Version Needs section",5)" identifier (argument_list "(0,"Version Needs section",5)" ( number_literal , (string_literal ""Version Needs section"" " string_content ") , number_literal ))))) ;) (expression_statement "local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);" (assignment_expression "local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12)" identifier = (cast_expression "(Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12)" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12)" identifier (argument_list "((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (pointer_expression "*(ulong *)((local_98->file_header).e_ident + 8)" * (cast_expression "(ulong *)((local_98->file_header).e_ident + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_98->file_header).e_ident + 8)" ( (binary_expression "(local_98->file_header).e_ident + 8" (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) , number_literal , (field_expression "(local_98->file_header).e_entry" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) , identifier ))))) ;) (if_statement "if (local_88 == (Elf_Internal_Sym *)0x0) {\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }\n          else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }" if (parenthesized_expression "(local_88 == (Elf_Internal_Sym *)0x0)" ( (binary_expression "local_88 == (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 "{\nLAB_00029604:\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }" { (labeled_statement "LAB_00029604:\n            bVar7 = true;" statement_identifier : (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;)) (expression_statement "uVar21 = (filedata->file_header).e_shnum;" (assignment_expression "uVar21 = (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)) ;) }) (else_clause "else {\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }" else (compound_statement "{\n            iVar18 = (int)(local_98->file_header).e_entry;\n            uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n            puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n            if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar7 = true;\n            uVar21 = (filedata->file_header).e_shnum;\n          }" { (expression_statement "iVar18 = (int)(local_98->file_header).e_entry;" (assignment_expression "iVar18 = (int)(local_98->file_header).e_entry" identifier = (cast_expression "(int)(local_98->file_header).e_entry" ( (type_descriptor "int" primitive_type) ) (field_expression "(local_98->file_header).e_entry" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);" (assignment_expression "uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4)" identifier = (pointer_expression "*(uint *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(uint *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar23 = (uchar *)((int)&local_88->st_value + iVar18);" (assignment_expression "puVar23 = (uchar *)((int)&local_88->st_value + iVar18)" identifier = (cast_expression "(uchar *)((int)&local_88->st_value + iVar18)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_88->st_value + iVar18)" ( (binary_expression "(int)&local_88->st_value + iVar18" (cast_expression "(int)&local_88->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_88->st_value" & (field_expression "local_88->st_value" identifier -> field_identifier))) + identifier) )))) ;) (if_statement "if (uVar21 != 0) {\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n              local_8c = 0;\n              if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }\n              pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);\n              warn(pcVar12);\n            }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (if_statement "if (puVar23 < &local_88->st_name) {\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }" if (parenthesized_expression "(puVar23 < &local_88->st_name)" ( (binary_expression "puVar23 < &local_88->st_name" identifier < (pointer_expression "&local_88->st_name" & (field_expression "local_88->st_name" identifier -> field_identifier))) )) (compound_statement "{\nLAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;\n              }" { (labeled_statement "LAB_00029ea6:\n                if (uVar21 <= local_8c) goto LAB_00029a35;" statement_identifier : (if_statement "if (uVar21 <= local_8c) goto LAB_00029a35;" if (parenthesized_expression "(uVar21 <= local_8c)" ( (binary_expression "uVar21 <= local_8c" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;))) }) (else_clause "else {\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }" else (compound_statement "{\n                local_94 = 0;\n                pEVar19 = local_88;\n                do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);\n              }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "pEVar19 = local_88;" (assignment_expression "pEVar19 = local_88" identifier = identifier) ;) (do_statement "do {\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                } while (&pEVar19->st_name <= puVar23);" do (compound_statement "{\n                  eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                  eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                  eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);\n                  eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);\n                  eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                  pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);\n                  if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }\n                  uVar21 = (uint)(ushort)(elf_vma)eVar27;\n                  pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar12,uVar21);\n                  eVar26._0_4_ = (elf_vma)(iVar18 - local_94);\n                  if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }\n                  puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);\n                  local_bc = (int)(elf_vma)eVar25 + local_94;\n                  if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }\nLAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                  if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + (int)(elf_vma)eVar29;\n                  if (uVar21 <= local_8c) goto LAB_00029a35;\n                  pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);\n                }" { (expression_statement "eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);" (assignment_expression "eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)pEVar19,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pEVar19,2)" ( (cast_expression "(uchar *)pEVar19" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);" (assignment_expression "eVar27._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2)" (field_expression "eVar27._0_2_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((int)&pEVar19->st_value + 2),2)" ( (cast_expression "(uchar *)((int)&pEVar19->st_value + 2)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_value + 2)" ( (binary_expression "(int)&pEVar19->st_value + 2" (cast_expression "(int)&pEVar19->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_value" & (field_expression "pEVar19->st_value" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (expression_statement "eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4);" (assignment_expression "eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4)" (field_expression "eVar28._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)((int)&pEVar19->st_value + 4),4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((int)&pEVar19->st_value + 4),4)" ( (cast_expression "(uchar *)((int)&pEVar19->st_value + 4)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_value + 4)" ( (binary_expression "(int)&pEVar19->st_value + 4" (cast_expression "(int)&pEVar19->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_value" & (field_expression "pEVar19->st_value" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (expression_statement "eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4);" (assignment_expression "eVar25._0_4_ = (*byte_get)((uchar *)&pEVar19->st_size,4)" (field_expression "eVar25._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)&pEVar19->st_size,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)&pEVar19->st_size,4)" ( (cast_expression "(uchar *)&pEVar19->st_size" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar19->st_size" & (field_expression "pEVar19->st_size" identifier -> field_identifier))) , number_literal )))) ;) (expression_statement "eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);" (assignment_expression "eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4)" (field_expression "eVar29._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((int)&pEVar19->st_size + 4),4)" ( (cast_expression "(uchar *)((int)&pEVar19->st_size + 4)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_size + 4)" ( (binary_expression "(int)&pEVar19->st_size + 4" (cast_expression "(int)&pEVar19->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_size" & (field_expression "pEVar19->st_size" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  %#06lx: Version: %d",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Version: %d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Version: %d",5)" identifier (argument_list "(0,"  %#06lx: Version: %d",5)" ( number_literal , (string_literal ""  %#06lx: Version: %d"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff);" (call_expression "printf(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff)" identifier (argument_list "(pcVar12,local_94,(uint)(elf_vma)eVar26 & 0xffff)" ( identifier , identifier , (binary_expression "(uint)(elf_vma)eVar26 & 0xffff" (cast_expression "(uint)(elf_vma)eVar26" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) & number_literal) ))) ;) (if_statement "if ((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }\n                  else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }" if (parenthesized_expression "((dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28))" ( (binary_expression "(dynamic_strings == (char *)0x0) ||\n                     (dynamic_strings_length <= (uint)(elf_vma)eVar28)" (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_strings_length <= (uint)(elf_vma)eVar28)" ( (binary_expression "dynamic_strings_length <= (uint)(elf_vma)eVar28" identifier <= (cast_expression "(uint)(elf_vma)eVar28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) ))) )) (compound_statement "{\n                    pcVar12 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar12,(undefined4)(elf_vma)eVar28);\n                  }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"  File: %lx",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  File: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"  File: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  File: %lx",5)" identifier (argument_list "(0,"  File: %lx",5)" ( number_literal , (string_literal ""  File: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar12,(undefined4)(elf_vma)eVar28);" (call_expression "printf(pcVar12,(undefined4)(elf_vma)eVar28)" identifier (argument_list "(pcVar12,(undefined4)(elf_vma)eVar28)" ( identifier , (cast_expression "(undefined4)(elf_vma)eVar28" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ))) ;) }) (else_clause "else {\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }" else (compound_statement "{\n                    pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;\n                    pcVar12 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar12,pcVar13);\n                  }" { (expression_statement "pcVar13 = dynamic_strings + (int)(elf_vma)eVar28;" (assignment_expression "pcVar13 = dynamic_strings + (int)(elf_vma)eVar28" identifier = (binary_expression "dynamic_strings + (int)(elf_vma)eVar28" identifier + (cast_expression "(int)(elf_vma)eVar28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0,"  File: %s",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  File: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  File: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  File: %s",5)" identifier (argument_list "(0,"  File: %s",5)" ( number_literal , (string_literal ""  File: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar12,pcVar13);" (call_expression "printf(pcVar12,pcVar13)" identifier (argument_list "(pcVar12,pcVar13)" ( identifier , identifier ))) ;) }))) (expression_statement "uVar21 = (uint)(ushort)(elf_vma)eVar27;" (assignment_expression "uVar21 = (uint)(ushort)(elf_vma)eVar27" identifier = (cast_expression "(uint)(ushort)(elf_vma)eVar27" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)(elf_vma)eVar27" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  Cnt: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Cnt: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Cnt: %d\n",5)" identifier (argument_list "(0,"  Cnt: %d\n",5)" ( number_literal , (string_literal ""  Cnt: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar12,uVar21);" (call_expression "printf(pcVar12,uVar21)" identifier (argument_list "(pcVar12,uVar21)" ( identifier , identifier ))) ;) (expression_statement "eVar26._0_4_ = (elf_vma)(iVar18 - local_94);" (assignment_expression "eVar26._0_4_ = (elf_vma)(iVar18 - local_94)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(elf_vma)(iVar18 - local_94)" (parenthesized_expression "(elf_vma)" ( identifier )) (argument_list "(iVar18 - local_94)" ( (binary_expression "iVar18 - local_94" identifier - identifier) )))) ;) (if_statement "if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25) {\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }" if (parenthesized_expression "((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25)" ( (binary_expression "(uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar25" (cast_expression "(uint)(elf_vma)eVar26" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < (cast_expression "(uint)(elf_vma)eVar25" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar25" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )) (compound_statement "{\n                    if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;\n                    break;\n                  }" { (if_statement "if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)\n                    goto LAB_00029a35;" if (parenthesized_expression "(*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c)" ( (binary_expression "*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_8c" (pointer_expression "*(uint *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(uint *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25);" (assignment_expression "puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25)" identifier = (cast_expression "(uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar25)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_value + (int)(elf_vma)eVar25)" ( (binary_expression "(int)&pEVar19->st_value + (int)(elf_vma)eVar25" (cast_expression "(int)&pEVar19->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_value" & (field_expression "pEVar19->st_value" identifier -> field_identifier))) + (cast_expression "(int)(elf_vma)eVar25" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar25" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )))) ;) (expression_statement "local_bc = (int)(elf_vma)eVar25 + local_94;" (assignment_expression "local_bc = (int)(elf_vma)eVar25 + local_94" identifier = (binary_expression "(int)(elf_vma)eVar25 + local_94" (cast_expression "(int)(elf_vma)eVar25" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar25" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) + identifier)) ;) (if_statement "if ((elf_vma)eVar27 != 0) {\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }" if (parenthesized_expression "((elf_vma)eVar27 != 0)" ( (binary_expression "(elf_vma)eVar27 != 0" (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier) != number_literal) )) (compound_statement "{\n                    if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }\n                    pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;\n                    warn(pcVar12);\n                  }" { (if_statement "if (puVar20 + 0x10 <= puVar23) {\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }" if (parenthesized_expression "(puVar20 + 0x10 <= puVar23)" ( (binary_expression "puVar20 + 0x10 <= puVar23" (binary_expression "puVar20 + 0x10" identifier + number_literal) <= identifier) )) (compound_statement "{\n                      local_c4 = (Elf_External_Vernaux *)0x0;\n                      do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);\n                    }" { (expression_statement "local_c4 = (Elf_External_Vernaux *)0x0;" (assignment_expression "local_c4 = (Elf_External_Vernaux *)0x0" identifier = (cast_expression "(Elf_External_Vernaux *)0x0" ( (type_descriptor "Elf_External_Vernaux *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      } while (puVar20 + 0x10 <= puVar23);" do (compound_statement "{\n                        (*byte_get)(puVar20,4);\n                        eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);\n                        eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);\n                        eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);\n                        eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);\n                        pcVar12 = dynamic_strings;\n                        if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }\n                        pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                        pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);\n                        if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;\n                        local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);\n                        puVar20 = puVar20 + (int)(elf_vma)eVar30;\n                        local_bc = local_bc + (int)(elf_vma)eVar30;\n                        if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;\n                      }" { (expression_statement "(*byte_get)(puVar20,4);" (call_expression "(*byte_get)(puVar20,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20,4)" ( identifier , number_literal ))) ;) (expression_statement "eVar27._0_4_ = (*byte_get)(puVar20 + 4,2);" (assignment_expression "eVar27._0_4_ = (*byte_get)(puVar20 + 4,2)" (field_expression "eVar27._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(puVar20 + 4,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20 + 4,2)" ( (binary_expression "puVar20 + 4" identifier + number_literal) , number_literal )))) ;) (expression_statement "eVar28._0_4_ = (*byte_get)(puVar20 + 6,2);" (assignment_expression "eVar28._0_4_ = (*byte_get)(puVar20 + 6,2)" (field_expression "eVar28._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(puVar20 + 6,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20 + 6,2)" ( (binary_expression "puVar20 + 6" identifier + number_literal) , number_literal )))) ;) (expression_statement "eVar25._0_4_ = (*byte_get)(puVar20 + 8,4);" (assignment_expression "eVar25._0_4_ = (*byte_get)(puVar20 + 8,4)" (field_expression "eVar25._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(puVar20 + 8,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20 + 8,4)" ( (binary_expression "puVar20 + 8" identifier + number_literal) , number_literal )))) ;) (expression_statement "eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4);" (assignment_expression "eVar30._0_4_ = (*byte_get)(puVar20 + 0xc,4)" (field_expression "eVar30._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(puVar20 + 0xc,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20 + 0xc,4)" ( (binary_expression "puVar20 + 0xc" identifier + number_literal) , number_literal )))) ;) (expression_statement "pcVar12 = dynamic_strings;" (assignment_expression "pcVar12 = dynamic_strings" identifier = identifier) ;) (if_statement "if ((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)) {\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }\n                        else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }" if (parenthesized_expression "((dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25))" ( (binary_expression "(dynamic_strings == (char *)0x0) ||\n                           (dynamic_strings_length <= (uint)(elf_vma)eVar25)" (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_strings_length <= (uint)(elf_vma)eVar25)" ( (binary_expression "dynamic_strings_length <= (uint)(elf_vma)eVar25" identifier <= (cast_expression "(uint)(elf_vma)eVar25" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar25" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) ))) )) (compound_statement "{\n                          pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);\n                        }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx:   Name index: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx:   Name index: %lx",5)" identifier (argument_list "(0,"  %#06lx:   Name index: %lx",5)" ( number_literal , (string_literal ""  %#06lx:   Name index: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25);" (call_expression "printf(pcVar12,local_bc,(undefined4)(elf_vma)eVar25)" identifier (argument_list "(pcVar12,local_bc,(undefined4)(elf_vma)eVar25)" ( identifier , identifier , (cast_expression "(undefined4)(elf_vma)eVar25" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar25" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ))) ;) }) (else_clause "else {\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }" else (compound_statement "{\n                          pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);\n                        }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx:   Name: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx:   Name: %s",5)" identifier (argument_list "(0,"  %#06lx:   Name: %s",5)" ( number_literal , (string_literal ""  %#06lx:   Name: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25);" (call_expression "printf(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25)" identifier (argument_list "(pcVar13,local_bc,pcVar12 + (int)(elf_vma)eVar25)" ( identifier , identifier , (binary_expression "pcVar12 + (int)(elf_vma)eVar25" identifier + (cast_expression "(int)(elf_vma)eVar25" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar25" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) ))) ;) }))) (expression_statement "pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);" (assignment_expression "pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff)" identifier = (call_expression "get_ver_flags((uint)(elf_vma)eVar27 & 0xffff)" identifier (argument_list "((uint)(elf_vma)eVar27 & 0xffff)" ( (binary_expression "(uint)(elf_vma)eVar27 & 0xffff" (cast_expression "(uint)(elf_vma)eVar27" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) & number_literal) )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Flags: %s  Version: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Flags: %s  Version: %d\n",5)" identifier (argument_list "(0,"  Flags: %s  Version: %d\n",5)" ( number_literal , (string_literal ""  Flags: %s  Version: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff);" (call_expression "printf(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff)" identifier (argument_list "(pcVar13,pcVar12,(uint)(elf_vma)eVar28 & 0xffff)" ( identifier , identifier , (binary_expression "(uint)(elf_vma)eVar28 & 0xffff" (cast_expression "(uint)(elf_vma)eVar28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) & number_literal) ))) ;) (if_statement "if ((uint)(elf_vma)eVar30 < 0x10) {\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;" if (parenthesized_expression "((uint)(elf_vma)eVar30 < 0x10)" ( (binary_expression "(uint)(elf_vma)eVar30 < 0x10" (cast_expression "(uint)(elf_vma)eVar30" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < number_literal) )) (compound_statement "{\n                          if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }\n                        }" { (if_statement "if (((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)) {\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }" if (parenthesized_expression "(((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0))" ( (binary_expression "((Elf_External_Vernaux *)(uVar21 - 1) != local_c4) ||\n                             ((elf_vma)eVar30 != 0)" (parenthesized_expression "((Elf_External_Vernaux *)(uVar21 - 1) != local_c4)" ( (binary_expression "(Elf_External_Vernaux *)(uVar21 - 1) != local_c4" (cast_expression "(Elf_External_Vernaux *)(uVar21 - 1)" ( (type_descriptor "Elf_External_Vernaux *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) ))) != identifier) )) || (parenthesized_expression "((elf_vma)eVar30 != 0)" ( (binary_expression "(elf_vma)eVar30 != 0" (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier) != number_literal) ))) )) (compound_statement "{\n                            pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                            goto LAB_00029dda;\n                          }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Invalid vna_next field of %lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Invalid vna_next field of %lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Invalid vna_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vna_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vna_next field of %lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar12,(undefined4)(elf_vma)eVar30);" (call_expression "warn(pcVar12,(undefined4)(elf_vma)eVar30)" identifier (argument_list "(pcVar12,(undefined4)(elf_vma)eVar30)" ( identifier , (cast_expression "(undefined4)(elf_vma)eVar30" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ))) ;) (goto_statement "goto LAB_00029dda;" goto statement_identifier ;) })) }) (else_clause "else if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;" else (if_statement "if ((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30) break;" if (parenthesized_expression "((uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30)" ( (binary_expression "(uint)((int)puVar23 - (int)puVar20) < (uint)(elf_vma)eVar30" (call_expression "(uint)((int)puVar23 - (int)puVar20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar23 - (int)puVar20)" ( (binary_expression "(int)puVar23 - (int)puVar20" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < (cast_expression "(uint)(elf_vma)eVar30" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )) (break_statement "break;" break ;)))) (expression_statement "local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1);" (assignment_expression "local_c4 = (Elf_External_Vernaux *)((int)local_c4 + 1)" identifier = (cast_expression "(Elf_External_Vernaux *)((int)local_c4 + 1)" ( (type_descriptor "Elf_External_Vernaux *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c4 + 1)" ( (binary_expression "(int)local_c4 + 1" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar20 = puVar20 + (int)(elf_vma)eVar30;" (assignment_expression "puVar20 = puVar20 + (int)(elf_vma)eVar30" identifier = (binary_expression "puVar20 + (int)(elf_vma)eVar30" identifier + (cast_expression "(int)(elf_vma)eVar30" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (expression_statement "local_bc = local_bc + (int)(elf_vma)eVar30;" (assignment_expression "local_bc = local_bc + (int)(elf_vma)eVar30" identifier = (binary_expression "local_bc + (int)(elf_vma)eVar30" identifier + (cast_expression "(int)(elf_vma)eVar30" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (if_statement "if ((Elf_External_Vernaux *)uVar21 == local_c4) goto LAB_00029dda;" if (parenthesized_expression "((Elf_External_Vernaux *)uVar21 == local_c4)" ( (binary_expression "(Elf_External_Vernaux *)uVar21 == local_c4" (cast_expression "(Elf_External_Vernaux *)uVar21" ( (type_descriptor "Elf_External_Vernaux *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (goto_statement "goto LAB_00029dda;" goto statement_identifier ;)) }) while (parenthesized_expression "(puVar20 + 0x10 <= puVar23)" ( (binary_expression "puVar20 + 0x10 <= puVar23" (binary_expression "puVar20 + 0x10" identifier + number_literal) <= identifier) )) ;) })) (expression_statement "pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)\n                    ;" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Missing Version Needs auxillary information\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Missing Version Needs auxillary information\n",5)" identifier (argument_list "(0,"Missing Version Needs auxillary information\n",5)" ( number_literal , (string_literal ""Missing Version Needs auxillary information\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar12);" (call_expression "warn(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (labeled_statement "LAB_00029dda:\n                  uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);" statement_identifier : (expression_statement "uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);" (assignment_expression "uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4)" identifier = (pointer_expression "*(uint *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(uint *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;)) (if_statement "if ((uint)(elf_vma)eVar29 < 0x10) {\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;" if (parenthesized_expression "((uint)(elf_vma)eVar29 < 0x10)" ( (binary_expression "(uint)(elf_vma)eVar29 < 0x10" (cast_expression "(uint)(elf_vma)eVar29" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar29" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < number_literal) )) (compound_statement "{\n                    if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }\n                  }" { (if_statement "if ((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }" if (parenthesized_expression "((uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0))" ( (binary_expression "(uVar21 - 1 != local_8c) || ((elf_vma)eVar29 != 0)" (parenthesized_expression "(uVar21 - 1 != local_8c)" ( (binary_expression "uVar21 - 1 != local_8c" (binary_expression "uVar21 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "((elf_vma)eVar29 != 0)" ( (binary_expression "(elf_vma)eVar29 != 0" (cast_expression "(elf_vma)eVar29" ( (type_descriptor "elf_vma" type_identifier) ) identifier) != number_literal) ))) )) (compound_statement "{\n                      pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar29);\n                      goto LAB_00029a35;\n                    }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Invalid vn_next field of %lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Invalid vn_next field of %lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Invalid vn_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vn_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vn_next field of %lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar12,(undefined4)(elf_vma)eVar29);" (call_expression "warn(pcVar12,(undefined4)(elf_vma)eVar29)" identifier (argument_list "(pcVar12,(undefined4)(elf_vma)eVar29)" ( identifier , (cast_expression "(undefined4)(elf_vma)eVar29" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar29" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ))) ;) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;" else (if_statement "if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) goto LAB_00029ea6;" if (parenthesized_expression "((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29)" ( (binary_expression "(uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29" (cast_expression "(uint)(elf_vma)eVar26" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < (cast_expression "(uint)(elf_vma)eVar29" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar29" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )) (goto_statement "goto LAB_00029ea6;" goto statement_identifier ;)))) (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;) (expression_statement "local_94 = local_94 + (int)(elf_vma)eVar29;" (assignment_expression "local_94 = local_94 + (int)(elf_vma)eVar29" identifier = (binary_expression "local_94 + (int)(elf_vma)eVar29" identifier + (cast_expression "(int)(elf_vma)eVar29" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar29" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (if_statement "if (uVar21 <= local_8c) goto LAB_00029a35;" if (parenthesized_expression "(uVar21 <= local_8c)" ( (binary_expression "uVar21 <= local_8c" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (expression_statement "pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94);" (assignment_expression "pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_94)" identifier = (cast_expression "(Elf_Internal_Sym *)((int)&local_88->st_value + local_94)" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_88->st_value + local_94)" ( (binary_expression "(int)&local_88->st_value + local_94" (cast_expression "(int)&local_88->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_88->st_value" & (field_expression "local_88->st_value" identifier -> field_identifier))) + identifier) )))) ;) }) while (parenthesized_expression "(&pEVar19->st_name <= puVar23)" ( (binary_expression "&pEVar19->st_name <= puVar23" (pointer_expression "&pEVar19->st_name" & (field_expression "pEVar19->st_name" identifier -> field_identifier)) <= identifier) )) ;) }))) (expression_statement "pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Missing Version Needs information\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Missing Version Needs information\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Missing Version Needs information\n",5)" identifier (argument_list "(0,"Missing Version Needs information\n",5)" ( number_literal , (string_literal ""Missing Version Needs information\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar12);" (call_expression "warn(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (labeled_statement "LAB_00029a35:\n            free(local_88);" statement_identifier : (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;)) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "uVar21 = (filedata->file_header).e_shnum;" (assignment_expression "uVar21 = (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)) ;) }))) }) (else_clause "else if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }" else (if_statement "if (pFVar3 == (FILE *)0x6fffffff) {\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(pFVar3 == (FILE *)0x6fffffff)" ( (binary_expression "pFVar3 == (FILE *)0x6fffffff" identifier == (cast_expression "(FILE *)0x6fffffff" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar22 = (uint)(local_98->file_header).e_phoff;\n          if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }\n        }" { (expression_statement "uVar22 = (uint)(local_98->file_header).e_phoff;" (assignment_expression "uVar22 = (uint)(local_98->file_header).e_phoff" identifier = (field_expression "(uint)(local_98->file_header).e_phoff" (call_expression "(uint)(local_98->file_header)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if ((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)) {\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }" if (parenthesized_expression "((uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21))" ( (binary_expression "(uVar22 < uVar21) &&\n             (filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)" (parenthesized_expression "(uVar22 < uVar21)" ( (binary_expression "uVar22 < uVar21" identifier < identifier) )) && (parenthesized_expression "(filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21)" ( (comma_expression "filedata_1 = (Filedata *)(filedata->section_headers + uVar22),\n             (uint)(filedata_1->file_header).e_phoff < uVar21" (assignment_expression "filedata_1 = (Filedata *)(filedata->section_headers + uVar22)" identifier = (cast_expression "(Filedata *)(filedata->section_headers + uVar22)" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(filedata->section_headers + uVar22)" ( (binary_expression "filedata->section_headers + uVar22" (field_expression "filedata->section_headers" identifier -> field_identifier) + identifier) )))) , (binary_expression "(uint)(filedata_1->file_header).e_phoff < uVar21" (field_expression "(uint)(filedata_1->file_header).e_phoff" (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) < identifier)) ))) )) (compound_statement "{\n            iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);\n            bVar8 = (local_98->file_header).e_entry;\n            if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n            iVar4 = (int)(filedata_1->file_header).e_phoff;\n            pEVar5 = filedata->section_headers;\n            pcVar12 = (char *)dcgettext(0,"version string table",5);\n            __ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);\n            if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }\n            goto LAB_00029a35;\n          }" { (expression_statement "iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4);" (assignment_expression "iVar18 = *(int *)((int)&(local_98->file_header).e_entry + 4)" identifier = (pointer_expression "*(int *)((int)&(local_98->file_header).e_entry + 4)" * (cast_expression "(int *)((int)&(local_98->file_header).e_entry + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_entry + 4)" ( (binary_expression "(int)&(local_98->file_header).e_entry + 4" (cast_expression "(int)&(local_98->file_header).e_entry" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_entry" & (field_expression "(local_98->file_header).e_entry" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar8 = (local_98->file_header).e_entry;" (assignment_expression "bVar8 = (local_98->file_header).e_entry" identifier = (field_expression "(local_98->file_header).e_entry" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (is_32bit_elf == 0) {\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }\n            else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }" if (parenthesized_expression "(is_32bit_elf == 0)" ( (binary_expression "is_32bit_elf == 0" identifier == number_literal) )) (compound_statement "{\n              local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }" { (expression_statement "local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);" (assignment_expression "local_88 = get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms)" identifier = (call_expression "get_64bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms)" identifier (argument_list "(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms)" ( identifier , (cast_expression "(Elf_Internal_Shdr *)filedata_1" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&num_syms" & identifier) )))) ;) }) (else_clause "else {\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }" else (compound_statement "{\n              local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);\n            }" { (expression_statement "local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms);" (assignment_expression "local_88 = get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms)" identifier = (call_expression "get_32bit_elf_symbols(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms)" identifier (argument_list "(filedata,(Elf_Internal_Shdr *)filedata_1,&num_syms)" ( identifier , (cast_expression "(Elf_Internal_Shdr *)filedata_1" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&num_syms" & identifier) )))) ;) }))) (if_statement "if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;" if (parenthesized_expression "(local_88 == (Elf_Internal_Sym *)0x0)" ( (binary_expression "local_88 == (Elf_Internal_Sym *)0x0" identifier == (cast_expression "(Elf_Internal_Sym *)0x0" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00029604;" goto statement_identifier ;)) (expression_statement "iVar4 = (int)(filedata_1->file_header).e_phoff;" (assignment_expression "iVar4 = (int)(filedata_1->file_header).e_phoff" identifier = (cast_expression "(int)(filedata_1->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (field_expression "(filedata_1->file_header).e_phoff" (parenthesized_expression "(filedata_1->file_header)" ( (field_expression "filedata_1->file_header" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pEVar5 = filedata->section_headers;" (assignment_expression "pEVar5 = filedata->section_headers" identifier = (field_expression "filedata->section_headers" identifier -> field_identifier)) ;) (expression_statement "pcVar12 = (char *)dcgettext(0,"version string table",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"version string table",5)" identifier = (cast_expression "(char *)dcgettext(0,"version string table",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"version string table",5)" identifier (argument_list "(0,"version string table",5)" ( number_literal , (string_literal ""version string table"" " string_content ") , number_literal ))))) ;) (expression_statement "__ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12);" (assignment_expression "__ptr = get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12)" identifier = (call_expression "get_data((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12)" identifier (argument_list "((void *)0x0,filedata,(ulong)pEVar5[iVar4].sh_offset,1,\n                             pEVar5[iVar4].sh_size,pcVar12)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(ulong)pEVar5[iVar4].sh_offset" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pEVar5[iVar4].sh_offset" (subscript_expression "pEVar5[iVar4]" identifier [ identifier ]) . field_identifier)) , number_literal , (field_expression "pEVar5[iVar4].sh_size" (subscript_expression "pEVar5[iVar4]" identifier [ identifier ]) . field_identifier) , identifier )))) ;) (if_statement "if (__ptr != (void *)0x0) {\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }" if (parenthesized_expression "(__ptr != (void *)0x0)" ( (binary_expression "__ptr != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar21 = (uint)bVar8 >> 1;\n              uVar22 = uVar21 | iVar18 << 0x1f;\n              pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n              pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);\n              printf(pcVar13,pcVar12,uVar22);\n              pcVar12 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar12);\n              puVar11 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));\n              pcVar12 = (char *)0x29427;\n              pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);\n              uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n              bVar9 = (local_98->file_header).e_phoff;\n              uVar24 = 5;\n              pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");\n              printf(pcVar14,uVar6,(int)bVar9,pcVar13);\n              uVar21 = uVar21 * 2;\n              offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));\n              pcVar13 = (char *)dcgettext(0,"version symbol data",5);\n              pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);\n              if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }\n              __ptr_00 = cmalloc(uVar22,2);\n              if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }\n              free(__ptr_00);\n              free(__ptr);\n            }" { (expression_statement "uVar21 = (uint)bVar8 >> 1;" (assignment_expression "uVar21 = (uint)bVar8 >> 1" identifier = (binary_expression "(uint)bVar8 >> 1" (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "uVar22 = uVar21 | iVar18 << 0x1f;" (assignment_expression "uVar22 = uVar21 | iVar18 << 0x1f" identifier = (binary_expression "uVar21 | iVar18 << 0x1f" identifier | (binary_expression "iVar18 << 0x1f" identifier << number_literal))) ;) (expression_statement "pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);" (assignment_expression "pcVar12 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" identifier = (call_expression "printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" identifier (argument_list "((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" ( (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 "pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5);" (assignment_expression "pcVar13 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5)" identifier (argument_list "(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar22,5)" ( number_literal , (string_literal ""\nVersion symbols section \'%s\' contains %lu entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion symbols section \'%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(pcVar13,pcVar12,uVar22);" (call_expression "printf(pcVar13,pcVar12,uVar22)" identifier (argument_list "(pcVar13,pcVar12,uVar22)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0," Addr: ",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0," Addr: ",5)" identifier = (cast_expression "(char *)dcgettext(0," Addr: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Addr: ",5)" identifier (argument_list "(0," Addr: ",5)" ( number_literal , (string_literal "" Addr: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar12);" (call_expression "printf(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "puVar11 = PTR_stdout_000b3fd8;" (assignment_expression "puVar11 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4));" (call_expression "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4))" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                      *(undefined4 *)(local_98->file_header).e_ident,\n                      *(undefined4 *)((local_98->file_header).e_ident + 4))" ( (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98->file_header).e_ident" * (cast_expression "(undefined4 *)(local_98->file_header).e_ident" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) , (pointer_expression "*(undefined4 *)((local_98->file_header).e_ident + 4)" * (cast_expression "(undefined4 *)((local_98->file_header).e_ident + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_98->file_header).e_ident + 4)" ( (binary_expression "(local_98->file_header).e_ident + 4" (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ))) ;) (expression_statement "pcVar12 = (char *)0x29427;" (assignment_expression "pcVar12 = (char *)0x29427" identifier = (cast_expression "(char *)0x29427" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = printable_section_name\n                                  ((Filedata *)&filedata->string_table,\n                                   (Elf_Internal_Shdr *)&filedata->string_table_length,filedata_1);" (assignment_expression "pcVar13 = 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 "uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);" (assignment_expression "uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8)" identifier = (pointer_expression "*(undefined4 *)((local_98->file_header).e_ident + 8)" * (cast_expression "(undefined4 *)((local_98->file_header).e_ident + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_98->file_header).e_ident + 8)" ( (binary_expression "(local_98->file_header).e_ident + 8" (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) ))))) ;) (expression_statement "bVar9 = (local_98->file_header).e_phoff;" (assignment_expression "bVar9 = (local_98->file_header).e_phoff" identifier = (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar24 = 5;" (assignment_expression "uVar24 = 5" identifier = number_literal) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n");" (assignment_expression "pcVar14 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n")" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n")" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n")" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "printf(pcVar14,uVar6,(int)bVar9,pcVar13);" (call_expression "printf(pcVar14,uVar6,(int)bVar9,pcVar13)" identifier (argument_list "(pcVar14,uVar6,(int)bVar9,pcVar13)" ( identifier , identifier , (cast_expression "(int)bVar9" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) (expression_statement "uVar21 = uVar21 * 2;" (assignment_expression "uVar21 = uVar21 * 2" identifier = (binary_expression "uVar21 * 2" identifier * number_literal)) ;) (expression_statement "offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24));" (assignment_expression "offset = offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24))" identifier = (call_expression "offset_from_vma(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24))" identifier (argument_list "(filedata,(ulonglong)uVar21,CONCAT44(pcVar12,uVar24))" ( identifier , (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) , (call_expression "CONCAT44(pcVar12,uVar24)" identifier (argument_list "(pcVar12,uVar24)" ( identifier , identifier ))) )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"version symbol data",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"version symbol data",5)" identifier = (cast_expression "(char *)dcgettext(0,"version symbol data",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"version symbol data",5)" identifier (argument_list "(0,"version symbol data",5)" ( number_literal , (string_literal ""version symbol data"" " string_content ") , number_literal ))))) ;) (expression_statement "pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13);" (assignment_expression "pvVar15 = get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13)" identifier = (call_expression "get_data((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13)" identifier (argument_list "((void *)0x0,filedata,offset,(ulonglong)uVar22,2,pcVar13)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , identifier , (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) , number_literal , identifier )))) ;) (if_statement "if (pvVar15 == (void *)0x0) {\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }" if (parenthesized_expression "(pvVar15 == (void *)0x0)" ( (binary_expression "pvVar15 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                free(__ptr);\n                free(local_88);\n                bVar7 = true;\n                uVar21 = (filedata->file_header).e_shnum;\n                goto LAB_0002929c;\n              }" { (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (expression_statement "bVar7 = true;" (assignment_expression "bVar7 = true" identifier = true) ;) (expression_statement "uVar21 = (filedata->file_header).e_shnum;" (assignment_expression "uVar21 = (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)) ;) (goto_statement "goto LAB_0002929c;" goto statement_identifier ;) })) (expression_statement "__ptr_00 = cmalloc(uVar22,2);" (assignment_expression "__ptr_00 = cmalloc(uVar22,2)" identifier = (call_expression "cmalloc(uVar22,2)" identifier (argument_list "(uVar22,2)" ( identifier , number_literal )))) ;) (if_statement "if (uVar22 == 0) {\n                free(pvVar15);\n              }\n              else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }" if (parenthesized_expression "(uVar22 == 0)" ( (binary_expression "uVar22 == 0" identifier == number_literal) )) (compound_statement "{\n                free(pvVar15);\n              }" { (expression_statement "free(pvVar15);" (call_expression "free(pvVar15)" identifier (argument_list "(pvVar15)" ( identifier ))) ;) }) (else_clause "else {\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }" else (compound_statement "{\n                do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);\n                free(pvVar15);\n                local_a4 = 4;\n                do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);\n              }" { (do_statement "do {\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                } while (uVar21 != 0);" do (compound_statement "{\n                  eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);\n                    /* WARNING: Store size is inaccurate */\n                  *(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;\n                  uVar21 = uVar21 - 2;\n                }" { (expression_statement "eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2);" (assignment_expression "eVar26._0_2_ = (*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2)" (field_expression "eVar26._0_2_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)((int)pvVar15 + (uVar21 - 2)),2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((int)pvVar15 + (uVar21 - 2)),2)" ( (cast_expression "(uchar *)((int)pvVar15 + (uVar21 - 2))" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar15 + (uVar21 - 2))" ( (binary_expression "(int)pvVar15 + (uVar21 - 2)" (cast_expression "(int)pvVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar21 - 2)" ( (binary_expression "uVar21 - 2" identifier - number_literal) ))) ))) , number_literal )))) ;) comment (expression_statement "*(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26;" (assignment_expression "*(elf_vma *)((int)__ptr_00 + (uVar21 - 2)) = (elf_vma)eVar26" (pointer_expression "*(elf_vma *)((int)__ptr_00 + (uVar21 - 2))" * (cast_expression "(elf_vma *)((int)__ptr_00 + (uVar21 - 2))" ( (type_descriptor "elf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + (uVar21 - 2))" ( (binary_expression "(int)__ptr_00 + (uVar21 - 2)" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar21 - 2)" ( (binary_expression "uVar21 - 2" identifier - number_literal) ))) )))) = (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = uVar21 - 2;" (assignment_expression "uVar21 = uVar21 - 2" identifier = (binary_expression "uVar21 - 2" identifier - number_literal)) ;) }) while (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) ;) (expression_statement "free(pvVar15);" (call_expression "free(pvVar15)" identifier (argument_list "(pvVar15)" ( identifier ))) ;) (expression_statement "local_a4 = 4;" (assignment_expression "local_a4 = 4" identifier = number_literal) ;) (do_statement "do {\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                } while (bVar7);" do (compound_statement "{\n                  uVar21 = local_a4 - 4;\n                  pcVar13 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar21);\n                  do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);\n                  putc(10,*(FILE **)puVar11);\n                  bVar7 = local_a4 < uVar22;\n                  local_a4 = local_a4 + 4;\n                }" { (expression_statement "uVar21 = local_a4 - 4;" (assignment_expression "uVar21 = local_a4 - 4" identifier = (binary_expression "local_a4 - 4" identifier - number_literal)) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"*invalid*",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"*invalid*",5)" identifier = (cast_expression "(char *)dcgettext(0,"*invalid*",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"*invalid*",5)" identifier (argument_list "(0,"*invalid*",5)" ( number_literal , (string_literal ""*invalid*"" " string_content ") , number_literal ))))) ;) (expression_statement "printf("  %03x:",uVar21);" (call_expression "printf("  %03x:",uVar21)" identifier (argument_list "("  %03x:",uVar21)" ( (string_literal ""  %03x:"" " string_content ") , identifier ))) ;) (do_statement "do {\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  } while (local_a4 != uVar21);" do (compound_statement "{\n                    if (uVar22 <= uVar21) break;\n                    uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);\n                    if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }\nLAB_0002a235:\n                    uVar21 = uVar21 + 1;\n                  }" { (if_statement "if (uVar22 <= uVar21) break;" if (parenthesized_expression "(uVar22 <= uVar21)" ( (binary_expression "uVar22 <= uVar21" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2);" (assignment_expression "uVar2 = *(ushort *)((int)__ptr_00 + uVar21 * 2)" identifier = (pointer_expression "*(ushort *)((int)__ptr_00 + uVar21 * 2)" * (cast_expression "(ushort *)((int)__ptr_00 + uVar21 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar21 * 2)" ( (binary_expression "(int)__ptr_00 + uVar21 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar21 * 2" identifier * number_literal)) ))))) ;) (if_statement "if (uVar2 == 0) {\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }\n                    else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                      __stream = *(FILE **)puVar11;\n                      pcVar14 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);\n                      fputs(pcVar14,__stream);\n                    }" { (expression_statement "__stream = *(FILE **)puVar11;" (assignment_expression "__stream = *(FILE **)puVar11" identifier = (pointer_expression "*(FILE **)puVar11" * (cast_expression "(FILE **)puVar11" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar14 = "   0 (*local*)    ";" (assignment_expression "pcVar14 = "   0 (*local*)    "" identifier = (string_literal ""   0 (*local*)    "" " string_content ")) ;) (labeled_statement "LAB_0002a221:\n                      pcVar14 = (char *)dcgettext(0,pcVar14,5);" statement_identifier : (expression_statement "pcVar14 = (char *)dcgettext(0,pcVar14,5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,pcVar14,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar14,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar14,5)" identifier (argument_list "(0,pcVar14,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "fputs(pcVar14,__stream);" (call_expression "fputs(pcVar14,__stream)" identifier (argument_list "(pcVar14,__stream)" ( identifier , identifier ))) ;) }) (else_clause "else {\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }" else (compound_statement "{\n                      if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;\n                      local_8c = printf("%4x%c",uVar2 & 0x7fff);\n                      if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }\n                    }" { (if_statement "if (uVar2 == 1) {\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }" if (parenthesized_expression "(uVar2 == 1)" ( (binary_expression "uVar2 == 1" identifier == number_literal) )) (compound_statement "{\n                        __stream = *(FILE **)puVar11;\n                        pcVar14 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }" { (expression_statement "__stream = *(FILE **)puVar11;" (assignment_expression "__stream = *(FILE **)puVar11" identifier = (pointer_expression "*(FILE **)puVar11" * (cast_expression "(FILE **)puVar11" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar14 = "   1 (*global*)   ";" (assignment_expression "pcVar14 = "   1 (*global*)   "" identifier = (string_literal ""   1 (*global*)   "" " string_content ")) ;) (goto_statement "goto LAB_0002a221;" goto statement_identifier ;) })) (expression_statement "iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20;" (assignment_expression "iVar18 = ((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20" identifier = (binary_expression "((int)(short)uVar2 >> 0x1f & 0x48U) + 0x20" (parenthesized_expression "((int)(short)uVar2 >> 0x1f & 0x48U)" ( (binary_expression "(int)(short)uVar2 >> 0x1f & 0x48U" (binary_expression "(int)(short)uVar2 >> 0x1f" (cast_expression "(int)(short)uVar2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)uVar2" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) >> number_literal) & number_literal) )) + number_literal)) ;) (expression_statement "local_8c = printf("%4x%c",uVar2 & 0x7fff);" (assignment_expression "local_8c = printf("%4x%c",uVar2 & 0x7fff)" identifier = (call_expression "printf("%4x%c",uVar2 & 0x7fff)" identifier (argument_list "("%4x%c",uVar2 & 0x7fff)" ( (string_literal ""%4x%c"" " string_content ") , (binary_expression "uVar2 & 0x7fff" identifier & number_literal) )))) ;) (if_statement "if (uVar21 < num_syms) {\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }" if (parenthesized_expression "(uVar21 < num_syms)" ( (binary_expression "uVar21 < num_syms" identifier < identifier) )) (compound_statement "{\n                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }" { (if_statement "if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }\n                        else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" if (parenthesized_expression "(version_info[1]._4_4_ == 0 && (int)version_info[1] == 0)" ( (binary_expression "version_info[1]._4_4_ == 0 && (int)version_info[1] == 0" (binary_expression "version_info[1]._4_4_ == 0" (field_expression "version_info[1]._4_4_" (subscript_expression "version_info[1]" identifier [ number_literal ]) . field_identifier) == number_literal) && (binary_expression "(int)version_info[1] == 0" (cast_expression "(int)version_info[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "version_info[1]" identifier [ number_literal ])) == number_literal)) )) (compound_statement "{\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }\n                        }" { (if_statement "if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar21 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar21 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar21 * 2)" ( (binary_expression "(int)__ptr_00 + uVar21 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar21 * 2" identifier * number_literal)) )))) != number_literal) )) && (parenthesized_expression "(pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)" ( (comma_expression "pcVar14 = (char *)0x0,\n                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0" (assignment_expression "pcVar14 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "version_info[3]._4_4_ != 0 || (int)version_info[3] != 0" (binary_expression "version_info[3]._4_4_ != 0" (field_expression "version_info[3]._4_4_" (subscript_expression "version_info[3]" identifier [ number_literal ]) . field_identifier) != number_literal) || (binary_expression "(int)version_info[3] != 0" (cast_expression "(int)version_info[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "version_info[3]" identifier [ number_literal ])) != number_literal))) ))) )) (compound_statement "{\nLAB_0002a101:\n                            local_c4 = &evna;\n                            local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));\n                            while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }\n                          }" { (labeled_statement "LAB_0002a101:\n                            local_c4 = &evna;" statement_identifier : (expression_statement "local_c4 = &evna;" (assignment_expression "local_c4 = &evna" identifier = (pointer_expression "&evna" & identifier)) ;)) (expression_statement "local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18));" (assignment_expression "local_b8 = offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18))" identifier = (call_expression "offset_from_vma(filedata,0x14,CONCAT44(pcVar12,iVar18))" identifier (argument_list "(filedata,0x14,CONCAT44(pcVar12,iVar18))" ( identifier , number_literal , (call_expression "CONCAT44(pcVar12,iVar18)" identifier (argument_list "(pcVar12,iVar18)" ( identifier , identifier ))) )))) ;) (while_statement "while( true ) {\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                              pcVar16 = (char *)dcgettext(0,"version def",5);\n                              pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);\n                              pcVar16 = pcVar14;\n                              if (pvVar15 == (void *)0x0) break;\n                              eVar26._0_4_ = (*byte_get)(local_20,4);\n                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);\n                              if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              local_b8 = (int)(elf_vma)eVar26 + local_b8;\n                              if ((elf_vma)eVar26 == 0) break;\n                            }" { (expression_statement "pcVar16 = (char *)dcgettext(0,"version def",5);" (assignment_expression "pcVar16 = (char *)dcgettext(0,"version def",5)" identifier = (cast_expression "(char *)dcgettext(0,"version def",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"version def",5)" identifier (argument_list "(0,"version def",5)" ( number_literal , (string_literal ""version def"" " string_content ") , number_literal ))))) ;) (expression_statement "pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16);" (assignment_expression "pvVar15 = get_data(local_c4,filedata,local_b8,0x14,1,pcVar16)" identifier = (call_expression "get_data(local_c4,filedata,local_b8,0x14,1,pcVar16)" identifier (argument_list "(local_c4,filedata,local_b8,0x14,1,pcVar16)" ( identifier , identifier , identifier , number_literal , number_literal , identifier )))) ;) (expression_statement "pcVar16 = pcVar14;" (assignment_expression "pcVar16 = pcVar14" identifier = identifier) ;) (if_statement "if (pvVar15 == (void *)0x0) break;" if (parenthesized_expression "(pvVar15 == (void *)0x0)" ( (binary_expression "pvVar15 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "eVar26._0_4_ = (*byte_get)(local_20,4);" (assignment_expression "eVar26._0_4_ = (*byte_get)(local_20,4)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(local_20,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(local_20,4)" ( identifier , number_literal )))) ;) (expression_statement "eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);" (assignment_expression "eVar27._0_2_ = (*byte_get)(evna.vna_flags,2)" (field_expression "eVar27._0_2_" identifier . field_identifier) = (call_expression "(*byte_get)(evna.vna_flags,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(evna.vna_flags,2)" ( (field_expression "evna.vna_flags" identifier . field_identifier) , number_literal )))) ;) (if_statement "if ((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27) {\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }" if (parenthesized_expression "((elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27)" ( (binary_expression "(elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff) ==\n                                  (elf_vma)eVar27" (call_expression "(elf_vma)(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff)" (parenthesized_expression "(elf_vma)" ( identifier )) (argument_list "(*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff)" ( (binary_expression "*(ushort *)((int)__ptr_00 + uVar21 * 2) & 0x7fff" (pointer_expression "*(ushort *)((int)__ptr_00 + uVar21 * 2)" * (cast_expression "(ushort *)((int)__ptr_00 + uVar21 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar21 * 2)" ( (binary_expression "(int)__ptr_00 + uVar21 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar21 * 2" identifier * number_literal)) )))) & number_literal) ))) == (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) )) (compound_statement "{\n                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);\n                                pcVar16 = (char *)dcgettext(0,"version def aux",5);\n                                pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);\n                                if (pvVar15 == (void *)0x0) goto LAB_0002a235;\n                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);\n                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                pcVar16 = pcVar13;\n                                if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }" { (expression_statement "eVar26._0_4_ = (*byte_get)(evna.vna_next,4);" (assignment_expression "eVar26._0_4_ = (*byte_get)(evna.vna_next,4)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(evna.vna_next,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(evna.vna_next,4)" ( (field_expression "evna.vna_next" identifier . field_identifier) , number_literal )))) ;) (expression_statement "pcVar16 = (char *)dcgettext(0,"version def aux",5);" (assignment_expression "pcVar16 = (char *)dcgettext(0,"version def aux",5)" identifier = (cast_expression "(char *)dcgettext(0,"version def aux",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"version def aux",5)" identifier (argument_list "(0,"version def aux",5)" ( number_literal , (string_literal ""version def aux"" " string_content ") , number_literal ))))) ;) (expression_statement "pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16);" (assignment_expression "pvVar15 = get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16)" identifier = (call_expression "get_data(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16)" identifier (argument_list "(&evn,filedata,local_b8 + (int)(elf_vma)eVar26,8,1\n                                                   ,pcVar16)" ( (pointer_expression "&evn" & identifier) , identifier , (binary_expression "local_b8 + (int)(elf_vma)eVar26" identifier + (cast_expression "(int)(elf_vma)eVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) , number_literal , number_literal , identifier )))) ;) (if_statement "if (pvVar15 == (void *)0x0) goto LAB_0002a235;" if (parenthesized_expression "(pvVar15 == (void *)0x0)" ( (binary_expression "pvVar15 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0002a235;" goto statement_identifier ;)) (expression_statement "eVar26._0_4_ = (*byte_get)(evn.vn_version,4);" (assignment_expression "eVar26._0_4_ = (*byte_get)(evn.vn_version,4)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(evn.vn_version,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(evn.vn_version,4)" ( (field_expression "evn.vn_version" identifier . field_identifier) , number_literal )))) ;) (expression_statement "piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);" (assignment_expression "piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4)" identifier = (cast_expression "(int *)((int)&pEVar5[iVar4].sh_size + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar5[iVar4].sh_size + 4)" ( (binary_expression "(int)&pEVar5[iVar4].sh_size + 4" (cast_expression "(int)&pEVar5[iVar4].sh_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar5[iVar4].sh_size" & (field_expression "pEVar5[iVar4].sh_size" (subscript_expression "pEVar5[iVar4]" identifier [ identifier ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pcVar16 = pcVar13;" (assignment_expression "pcVar16 = pcVar13" identifier = identifier) ;) (if_statement "if (*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }" if (parenthesized_expression "(*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size))" ( (binary_expression "*piVar1 != 0 ||\n                                    (uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)" (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" * identifier) != number_literal) || (binary_expression "(uint)-*piVar1 <\n                                    (uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)" (binary_expression "(uint)-*piVar1" (parenthesized_expression "(uint)" ( identifier )) - (pointer_expression "*piVar1" * identifier)) < (call_expression "(uint)((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size)" ( (binary_expression "(uint)(elf_vma)eVar26 <\n                                          (uint)(elf_vma)pEVar5[iVar4].sh_size" (cast_expression "(uint)(elf_vma)eVar26" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < (cast_expression "(uint)(elf_vma)pEVar5[iVar4].sh_size" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)pEVar5[iVar4].sh_size" ( (type_descriptor "elf_vma" type_identifier) ) (field_expression "pEVar5[iVar4].sh_size" (subscript_expression "pEVar5[iVar4]" identifier [ identifier ]) . field_identifier)))) ))))) )) (compound_statement "{\n                                  if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }" { (if_statement "if ((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)) {\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }" if (parenthesized_expression "((pcVar14 == (char *)0x0) || (pcVar13 == pcVar14))" ( (binary_expression "(pcVar14 == (char *)0x0) || (pcVar13 == pcVar14)" (parenthesized_expression "(pcVar14 == (char *)0x0)" ( (binary_expression "pcVar14 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar13 == pcVar14)" ( (binary_expression "pcVar13 == pcVar14" identifier == identifier) ))) )) (compound_statement "{\n                                    pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }" { (expression_statement "pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26);" (assignment_expression "pcVar16 = (char *)((int)__ptr + (int)(elf_vma)eVar26)" identifier = (cast_expression "(char *)((int)__ptr + (int)(elf_vma)eVar26)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + (int)(elf_vma)eVar26)" ( (binary_expression "(int)__ptr + (int)(elf_vma)eVar26" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(elf_vma)eVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )))) ;) }) (else_clause "else {\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }" else (compound_statement "{\n                                    pcVar16 = (char *)dcgettext(0,"*both*",5);\n                                  }" { (expression_statement "pcVar16 = (char *)dcgettext(0,"*both*",5);" (assignment_expression "pcVar16 = (char *)dcgettext(0,"*both*",5)" identifier = (cast_expression "(char *)dcgettext(0,"*both*",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"*both*",5)" identifier (argument_list "(0,"*both*",5)" ( number_literal , (string_literal ""*both*"" " string_content ") , number_literal ))))) ;) }))) })) (break_statement "break;" break ;) })) (expression_statement "local_b8 = (int)(elf_vma)eVar26 + local_b8;" (assignment_expression "local_b8 = (int)(elf_vma)eVar26 + local_b8" identifier = (binary_expression "(int)(elf_vma)eVar26 + local_b8" (cast_expression "(int)(elf_vma)eVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) + identifier)) ;) (if_statement "if ((elf_vma)eVar26 == 0) break;" if (parenthesized_expression "((elf_vma)eVar26 == 0)" ( (binary_expression "(elf_vma)eVar26 == 0" (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier) == number_literal) )) (break_statement "break;" break ;)) })) (labeled_statement "LAB_0002a1b1:\n                            if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }" statement_identifier : (if_statement "if (pcVar16 != (char *)0x0) {\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }" if (parenthesized_expression "(pcVar16 != (char *)0x0)" ( (binary_expression "pcVar16 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              sVar17 = strlen(pcVar16);\n                              pcVar12 = ")";\n                              iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);\n                              local_8c = local_8c + iVar18;\n                            }" { (expression_statement "sVar17 = strlen(pcVar16);" (assignment_expression "sVar17 = strlen(pcVar16)" identifier = (call_expression "strlen(pcVar16)" identifier (argument_list "(pcVar16)" ( identifier )))) ;) (expression_statement "pcVar12 = ")";" (assignment_expression "pcVar12 = ")"" identifier = (string_literal "")"" " string_content ")) ;) (expression_statement "iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17);" (assignment_expression "iVar18 = printf("(%s%-*s",pcVar16,0xc - sVar17)" identifier = (call_expression "printf("(%s%-*s",pcVar16,0xc - sVar17)" identifier (argument_list "("(%s%-*s",pcVar16,0xc - sVar17)" ( (string_literal ""(%s%-*s"" " string_content ") , identifier , (binary_expression "0xc - sVar17" number_literal - identifier) )))) ;) (expression_statement "local_8c = local_8c + iVar18;" (assignment_expression "local_8c = local_8c + iVar18" identifier = (binary_expression "local_8c + iVar18" identifier + identifier)) ;) }))) })) }) (else_clause "else {\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" else (compound_statement "{\n                          local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));\n                          do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" { (expression_statement "local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18));" (assignment_expression "local_9c = offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18))" identifier = (call_expression "offset_from_vma(filedata,0x10,CONCAT44(pcVar12,iVar18))" identifier (argument_list "(filedata,0x10,CONCAT44(pcVar12,iVar18))" ( identifier , number_literal , (call_expression "CONCAT44(pcVar12,iVar18)" identifier (argument_list "(pcVar12,iVar18)" ( identifier , identifier ))) )))) ;) (do_statement "do {\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          } while ((elf_vma)eVar26 != 0);" do (compound_statement "{\n                            iVar18 = 5;\n                            pcVar14 = (char *)dcgettext(0,"version need");\n                            pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);\n                            if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);\n                            offset_00 = (int)(elf_vma)eVar26 + local_9c;\n                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);\n                            do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);\n                            local_9c = local_9c + (int)(elf_vma)eVar26;\n                          }" { (expression_statement "iVar18 = 5;" (assignment_expression "iVar18 = 5" identifier = number_literal) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"version need");" (assignment_expression "pcVar14 = (char *)dcgettext(0,"version need")" identifier = (cast_expression "(char *)dcgettext(0,"version need")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"version need")" identifier (argument_list "(0,"version need")" ( number_literal , (string_literal ""version need"" " string_content ") ))))) ;) (expression_statement "pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14);" (assignment_expression "pvVar15 = get_data(&evn,filedata,local_9c,0x10,1,pcVar14)" identifier = (call_expression "get_data(&evn,filedata,local_9c,0x10,1,pcVar14)" identifier (argument_list "(&evn,filedata,local_9c,0x10,1,pcVar14)" ( (pointer_expression "&evn" & identifier) , identifier , identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (pvVar15 == (void *)0x0) {\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }" if (parenthesized_expression "(pvVar15 == (void *)0x0)" ( (binary_expression "pvVar15 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;\n                              pcVar14 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }" { (if_statement "if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                              goto LAB_0002a1e4;" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar21 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar21 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar21 * 2)" ( (binary_expression "(int)__ptr_00 + uVar21 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar21 * 2" identifier * number_literal)) )))) == number_literal) )) || (parenthesized_expression "(version_info[3]._4_4_ == 0 && (int)version_info[3] == 0)" ( (binary_expression "version_info[3]._4_4_ == 0 && (int)version_info[3] == 0" (binary_expression "version_info[3]._4_4_ == 0" (field_expression "version_info[3]._4_4_" (subscript_expression "version_info[3]" identifier [ number_literal ]) . field_identifier) == number_literal) && (binary_expression "(int)version_info[3] == 0" (cast_expression "(int)version_info[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "version_info[3]" identifier [ number_literal ])) == number_literal)) ))) )) (goto_statement "goto LAB_0002a1e4;" goto statement_identifier ;)) (expression_statement "pcVar14 = (char *)0x0;" (assignment_expression "pcVar14 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) (expression_statement "eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);" (assignment_expression "eVar26._0_4_ = (*byte_get)(evn.vn_aux,4)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(evn.vn_aux,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(evn.vn_aux,4)" ( (field_expression "evn.vn_aux" identifier . field_identifier) , number_literal )))) ;) (expression_statement "offset_00 = (int)(elf_vma)eVar26 + local_9c;" (assignment_expression "offset_00 = (int)(elf_vma)eVar26 + local_9c" identifier = (binary_expression "(int)(elf_vma)eVar26 + local_9c" (cast_expression "(int)(elf_vma)eVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) + identifier)) ;) (expression_statement "eVar26._0_4_ = (*byte_get)(evn.vn_next,4);" (assignment_expression "eVar26._0_4_ = (*byte_get)(evn.vn_next,4)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(evn.vn_next,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(evn.vn_next,4)" ( (field_expression "evn.vn_next" identifier . field_identifier) , number_literal )))) ;) (do_statement "do {\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            } while ((elf_vma)eVar27 != 0);" do (compound_statement "{\n                              iVar18 = 5;\n                              pcVar14 = (char *)dcgettext(0,"version need aux (2)");\n                              pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);\n                              if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);\n                              offset_00 = offset_00 + (int)(elf_vma)eVar27;\n                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);\n                              if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;\n                            }" { (expression_statement "iVar18 = 5;" (assignment_expression "iVar18 = 5" identifier = number_literal) ;) (expression_statement "pcVar14 = (char *)dcgettext(0,"version need aux (2)");" (assignment_expression "pcVar14 = (char *)dcgettext(0,"version need aux (2)")" identifier = (cast_expression "(char *)dcgettext(0,"version need aux (2)")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"version need aux (2)")" identifier (argument_list "(0,"version need aux (2)")" ( number_literal , (string_literal ""version need aux (2)"" " string_content ") ))))) ;) (expression_statement "pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14);" (assignment_expression "pvVar15 = get_data(&evna,filedata,offset_00,0x10,1,pcVar14)" identifier = (call_expression "get_data(&evna,filedata,offset_00,0x10,1,pcVar14)" identifier (argument_list "(&evna,filedata,offset_00,0x10,1,pcVar14)" ( (pointer_expression "&evna" & identifier) , identifier , identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (pvVar15 == (void *)0x0) {\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }" if (parenthesized_expression "(pvVar15 == (void *)0x0)" ( (binary_expression "pvVar15 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }" { (if_statement "if (*(short *)((int)__ptr_00 + uVar21 * 2) == 0) {\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }" if (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) == 0)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar21 * 2) == 0" (pointer_expression "*(short *)((int)__ptr_00 + uVar21 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar21 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar21 * 2)" ( (binary_expression "(int)__ptr_00 + uVar21 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar21 * 2" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\nLAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);\n                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);\n                                  pcVar14 = pcVar13;\n                                  if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }\n                                  pcVar16 = pcVar14;\n                                  if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }" { (labeled_statement "LAB_0002a449:\n                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);" statement_identifier : (expression_statement "eVar26._0_4_ = (*byte_get)(evna.vna_name,4);" (assignment_expression "eVar26._0_4_ = (*byte_get)(evna.vna_name,4)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(evna.vna_name,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(evna.vna_name,4)" ( (field_expression "evna.vna_name" identifier . field_identifier) , number_literal )))) ;)) (expression_statement "piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);" (assignment_expression "piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4)" identifier = (cast_expression "(int *)((int)&pEVar5[iVar4].sh_size + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar5[iVar4].sh_size + 4)" ( (binary_expression "(int)&pEVar5[iVar4].sh_size + 4" (cast_expression "(int)&pEVar5[iVar4].sh_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar5[iVar4].sh_size" & (field_expression "pEVar5[iVar4].sh_size" (subscript_expression "pEVar5[iVar4]" identifier [ identifier ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pcVar14 = pcVar13;" (assignment_expression "pcVar14 = pcVar13" identifier = identifier) ;) (if_statement "if (*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)) {\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }" if (parenthesized_expression "(*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size))" ( (binary_expression "*piVar1 != 0 ||\n                                      (uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)" (binary_expression "*piVar1 != 0" (pointer_expression "*piVar1" * identifier) != number_literal) || (binary_expression "(uint)-*piVar1 <\n                                      (uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)" (binary_expression "(uint)-*piVar1" (parenthesized_expression "(uint)" ( identifier )) - (pointer_expression "*piVar1" * identifier)) < (call_expression "(uint)((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size)" ( (binary_expression "(uint)(elf_vma)eVar26 <\n                                            (uint)(elf_vma)pEVar5[iVar4].sh_size" (cast_expression "(uint)(elf_vma)eVar26" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < (cast_expression "(uint)(elf_vma)pEVar5[iVar4].sh_size" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)pEVar5[iVar4].sh_size" ( (type_descriptor "elf_vma" type_identifier) ) (field_expression "pEVar5[iVar4].sh_size" (subscript_expression "pEVar5[iVar4]" identifier [ identifier ]) . field_identifier)))) ))))) )) (compound_statement "{\n                                    pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);\n                                  }" { (expression_statement "pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26);" (assignment_expression "pcVar14 = (char *)((int)__ptr + (int)(elf_vma)eVar26)" identifier = (cast_expression "(char *)((int)__ptr + (int)(elf_vma)eVar26)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr + (int)(elf_vma)eVar26)" ( (binary_expression "(int)__ptr + (int)(elf_vma)eVar26" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(elf_vma)eVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )))) ;) })) (expression_statement "pcVar16 = pcVar14;" (assignment_expression "pcVar16 = pcVar14" identifier = identifier) ;) (if_statement "if ((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))\n                                  goto LAB_0002a1b1;" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff) ||\n                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar21 * 2) == -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar21 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar21 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar21 * 2)" ( (binary_expression "(int)__ptr_00 + uVar21 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar21 * 2" identifier * number_literal)) )))) == number_literal) )) || (parenthesized_expression "(version_info[3]._4_4_ == 0 && (int)version_info[3] == 0)" ( (binary_expression "version_info[3]._4_4_ == 0 && (int)version_info[3] == 0" (binary_expression "version_info[3]._4_4_ == 0" (field_expression "version_info[3]._4_4_" (subscript_expression "version_info[3]" identifier [ number_literal ]) . field_identifier) == number_literal) && (binary_expression "(int)version_info[3] == 0" (cast_expression "(int)version_info[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "version_info[3]" identifier [ number_literal ])) == number_literal)) ))) )) (goto_statement "goto LAB_0002a1b1;" goto statement_identifier ;)) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "eVar27._0_4_ = (*byte_get)(evna.vna_next,4);" (assignment_expression "eVar27._0_4_ = (*byte_get)(evna.vna_next,4)" (field_expression "eVar27._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(evna.vna_next,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(evna.vna_next,4)" ( (field_expression "evna.vna_next" identifier . field_identifier) , number_literal )))) ;) (expression_statement "offset_00 = offset_00 + (int)(elf_vma)eVar27;" (assignment_expression "offset_00 = offset_00 + (int)(elf_vma)eVar27" identifier = (binary_expression "offset_00 + (int)(elf_vma)eVar27" identifier + (cast_expression "(int)(elf_vma)eVar27" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (expression_statement "eVar28._0_2_ = (*byte_get)(evna.vna_other,2);" (assignment_expression "eVar28._0_2_ = (*byte_get)(evna.vna_other,2)" (field_expression "eVar28._0_2_" identifier . field_identifier) = (call_expression "(*byte_get)(evna.vna_other,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(evna.vna_other,2)" ( (field_expression "evna.vna_other" identifier . field_identifier) , number_literal )))) ;) (if_statement "if ((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28) goto LAB_0002a449;" if (parenthesized_expression "((elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28)" ( (binary_expression "(elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2) ==\n                                  (elf_vma)eVar28" (binary_expression "(elf_vma)*(elf_vma *)((int)__ptr_00 + uVar21 * 2)" (parenthesized_expression "(elf_vma)" ( identifier )) * (cast_expression "(elf_vma *)((int)__ptr_00 + uVar21 * 2)" ( (type_descriptor "elf_vma *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar21 * 2)" ( (binary_expression "(int)__ptr_00 + uVar21 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar21 * 2" identifier * number_literal)) )))) == (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) )) (goto_statement "goto LAB_0002a449;" goto statement_identifier ;)) }) while (parenthesized_expression "((elf_vma)eVar27 != 0)" ( (binary_expression "(elf_vma)eVar27 != 0" (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier) != number_literal) )) ;) (expression_statement "local_9c = local_9c + (int)(elf_vma)eVar26;" (assignment_expression "local_9c = local_9c + (int)(elf_vma)eVar26" identifier = (binary_expression "local_9c + (int)(elf_vma)eVar26" identifier + (cast_expression "(int)(elf_vma)eVar26" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) }) while (parenthesized_expression "((elf_vma)eVar26 != 0)" ( (binary_expression "(elf_vma)eVar26 != 0" (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier) != number_literal) )) ;) (if_statement "if ((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff) &&\n                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar21 * 2) != -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar21 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar21 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar21 * 2)" ( (binary_expression "(int)__ptr_00 + uVar21 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar21 * 2" identifier * number_literal)) )))) != number_literal) )) && (parenthesized_expression "(version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)" ( (binary_expression "version_info[3]._4_4_ != 0 || (int)version_info[3] != 0" (binary_expression "version_info[3]._4_4_ != 0" (field_expression "version_info[3]._4_4_" (subscript_expression "version_info[3]" identifier [ number_literal ]) . field_identifier) != number_literal) || (binary_expression "(int)version_info[3] != 0" (cast_expression "(int)version_info[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "version_info[3]" identifier [ number_literal ])) != number_literal)) ))) )) (compound_statement "{\n                            pcVar14 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }" { (expression_statement "pcVar14 = (char *)0x0;" (assignment_expression "pcVar14 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" statement_identifier : (if_statement "if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" if (parenthesized_expression "((int)local_8c < 0x12)" ( (binary_expression "(int)local_8c < 0x12" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" { (expression_statement "printf("%*c",0x12 - local_8c,0x20);" (call_expression "printf("%*c",0x12 - local_8c,0x20)" identifier (argument_list "("%*c",0x12 - local_8c,0x20)" ( (string_literal ""%*c"" " string_content ") , (binary_expression "0x12 - local_8c" number_literal - identifier) , number_literal ))) ;) }))) }) (else_clause "else {\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }" else (compound_statement "{\n                        pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(pcVar14);\n                      }" { (expression_statement "pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5);" (assignment_expression "pcVar14 = (char *)dcgettext(0,"invalid index into symbol array\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"invalid index into symbol array\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"invalid index into symbol array\n",5)" identifier (argument_list "(0,"invalid index into symbol array\n",5)" ( number_literal , (string_literal ""invalid index into symbol array\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar14);" (call_expression "warn(pcVar14)" identifier (argument_list "(pcVar14)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0002a235:\n                    uVar21 = uVar21 + 1;" statement_identifier : (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_a4 != uVar21)" ( (binary_expression "local_a4 != uVar21" identifier != identifier) )) ;) (expression_statement "putc(10,*(FILE **)puVar11);" (call_expression "putc(10,*(FILE **)puVar11)" identifier (argument_list "(10,*(FILE **)puVar11)" ( number_literal , (pointer_expression "*(FILE **)puVar11" * (cast_expression "(FILE **)puVar11" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "bVar7 = local_a4 < uVar22;" (assignment_expression "bVar7 = local_a4 < uVar22" identifier = (binary_expression "local_a4 < uVar22" identifier < identifier)) ;) (expression_statement "local_a4 = local_a4 + 4;" (assignment_expression "local_a4 = local_a4 + 4" identifier = (binary_expression "local_a4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar7)" ( identifier )) ;) }))) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) })) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }" else (if_statement "if (pFVar3 == (FILE *)0x6ffffffd) {\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(pFVar3 == (FILE *)0x6ffffffd)" ( (binary_expression "pFVar3 == (FILE *)0x6ffffffd" identifier == (cast_expression "(FILE *)0x6ffffffd" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);\n          pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);\n          pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;\n          printf(pcVar13,pcVar12,uVar6);\n          pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar12);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));\n          pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);\n          bVar9 = (local_98->file_header).e_phoff;\n          uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);\n          pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar13,uVar6,(int)bVar9,pcVar12);\n          pcVar12 = (char *)dcgettext(0,"version definition section",5);\n          local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);\n          if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;\n          iVar18 = (int)(local_98->file_header).e_entry;\n          uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n          puVar23 = (uchar *)((int)&local_88->st_value + iVar18);\n          if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }\n          goto LAB_00029a35;\n        }" { (expression_statement "uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4);" (assignment_expression "uVar6 = *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98);" (assignment_expression "pcVar12 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" identifier = (call_expression "printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" identifier (argument_list "((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_98)" ( (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 "pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)\n          ;" (assignment_expression "pcVar13 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)" identifier = (cast_expression "(char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)" identifier (argument_list "(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)((int)&(local_98->file_header).e_phoff + 4),5)" ( number_literal , (string_literal ""\nVersion definition section \'%s\' contains %u entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion definition section \'%s\' contains %u entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(undefined4 *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) , number_literal ))))) ;) (expression_statement "printf(pcVar13,pcVar12,uVar6);" (call_expression "printf(pcVar13,pcVar12,uVar6)" identifier (argument_list "(pcVar13,pcVar12,uVar6)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  Addr: 0x",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Addr: 0x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Addr: 0x",5)" identifier (argument_list "(0,"  Addr: 0x",5)" ( number_literal , (string_literal ""  Addr: 0x"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar12);" (call_expression "printf(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4));" (call_expression "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4))" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8,"%016llx",\n                  *(undefined4 *)(local_98->file_header).e_ident,\n                  *(undefined4 *)((local_98->file_header).e_ident + 4))" ( (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98->file_header).e_ident" * (cast_expression "(undefined4 *)(local_98->file_header).e_ident" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) , (pointer_expression "*(undefined4 *)((local_98->file_header).e_ident + 4)" * (cast_expression "(undefined4 *)((local_98->file_header).e_ident + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_98->file_header).e_ident + 4)" ( (binary_expression "(local_98->file_header).e_ident + 4" (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ))) ;) (expression_statement "pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff);" (assignment_expression "pcVar12 = printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff)" identifier = (call_expression "printable_section_name_from_index\n                              (filedata,(ulong)(local_98->file_header).e_phoff)" identifier (argument_list "(filedata,(ulong)(local_98->file_header).e_phoff)" ( identifier , (field_expression "(ulong)(local_98->file_header).e_phoff" (call_expression "(ulong)(local_98->file_header)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) ))) . field_identifier) )))) ;) (expression_statement "bVar9 = (local_98->file_header).e_phoff;" (assignment_expression "bVar9 = (local_98->file_header).e_phoff" identifier = (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8);" (assignment_expression "uVar6 = *(undefined4 *)((local_98->file_header).e_ident + 8)" identifier = (pointer_expression "*(undefined4 *)((local_98->file_header).e_ident + 8)" * (cast_expression "(undefined4 *)((local_98->file_header).e_ident + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_98->file_header).e_ident + 8)" ( (binary_expression "(local_98->file_header).e_ident + 8" (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) ))))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,uVar6,(int)bVar9,pcVar12);" (call_expression "printf(pcVar13,uVar6,(int)bVar9,pcVar12)" identifier (argument_list "(pcVar13,uVar6,(int)bVar9,pcVar12)" ( identifier , identifier , (cast_expression "(int)bVar9" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0,"version definition section",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"version definition section",5)" identifier = (cast_expression "(char *)dcgettext(0,"version definition section",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"version definition section",5)" identifier (argument_list "(0,"version definition section",5)" ( number_literal , (string_literal ""version definition section"" " string_content ") , number_literal ))))) ;) (expression_statement "local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12);" (assignment_expression "local_88 = (Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12)" identifier = (cast_expression "(Elf_Internal_Sym *)\n                     get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12)" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "get_data((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12)" identifier (argument_list "((void *)0x0,filedata,*(ulong *)((local_98->file_header).e_ident + 8),1\n                              ,(local_98->file_header).e_entry,pcVar12)" ( (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (pointer_expression "*(ulong *)((local_98->file_header).e_ident + 8)" * (cast_expression "(ulong *)((local_98->file_header).e_ident + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_98->file_header).e_ident + 8)" ( (binary_expression "(local_98->file_header).e_ident + 8" (field_expression "(local_98->file_header).e_ident" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) , number_literal , (field_expression "(local_98->file_header).e_entry" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier) , identifier ))))) ;) (if_statement "if (local_88 == (Elf_Internal_Sym *)0x0) goto LAB_00029604;" if (parenthesized_expression "(local_88 == (Elf_Internal_Sym *)0x0)" ( (binary_expression "local_88 == (Elf_Internal_Sym *)0x0" identifier == (cast_expression "(Elf_Internal_Sym *)0x0" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00029604;" goto statement_identifier ;)) (expression_statement "iVar18 = (int)(local_98->file_header).e_entry;" (assignment_expression "iVar18 = (int)(local_98->file_header).e_entry" identifier = (cast_expression "(int)(local_98->file_header).e_entry" ( (type_descriptor "int" primitive_type) ) (field_expression "(local_98->file_header).e_entry" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);" (assignment_expression "uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4)" identifier = (pointer_expression "*(uint *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(uint *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar23 = (uchar *)((int)&local_88->st_value + iVar18);" (assignment_expression "puVar23 = (uchar *)((int)&local_88->st_value + iVar18)" identifier = (cast_expression "(uchar *)((int)&local_88->st_value + iVar18)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_88->st_value + iVar18)" ( (binary_expression "(int)&local_88->st_value + iVar18" (cast_expression "(int)&local_88->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_88->st_value" & (field_expression "local_88->st_value" identifier -> field_identifier))) + identifier) )))) ;) (if_statement "if (uVar21 != 0) {\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }\n            pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar12);\n          }" { (if_statement "if (puVar23 < &local_88->st_info) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }" if (parenthesized_expression "(puVar23 < &local_88->st_info)" ( (binary_expression "puVar23 < &local_88->st_info" identifier < (pointer_expression "&local_88->st_info" & (field_expression "local_88->st_info" identifier -> field_identifier))) )) (compound_statement "{\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;\n            }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00029a9e:\n              if (uVar21 <= local_94) goto LAB_00029a35;" statement_identifier : (if_statement "if (uVar21 <= local_94) goto LAB_00029a35;" if (parenthesized_expression "(uVar21 <= local_94)" ( (binary_expression "uVar21 <= local_94" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;))) }) (else_clause "else {\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }" else (compound_statement "{\n              local_94 = 0;\n              local_9c = 0;\n              pEVar19 = local_88;\n              do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);\n            }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "pEVar19 = local_88;" (assignment_expression "pEVar19 = local_88" identifier = identifier) ;) (do_statement "do {\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              } while (&pEVar19->st_info <= puVar23);" do (compound_statement "{\n                eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);\n                eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);\n                eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);\n                eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);\n                (*byte_get)((uchar *)&pEVar19->st_size,4);\n                eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);\n                eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);\n                pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);\n                pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);\n                uVar21 = (uint)(ushort)(elf_vma)eVar25;\n                pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);\n                eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);\n                if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }\n                pcVar12 = (char *)(*byte_get)(puVar20,4);\n                eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar22 = 1;\n                printf(pcVar13,pcVar12);\n                local_bc = (int)(elf_vma)eVar29 + local_9c;\n                if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }\n                uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);\n                if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + (int)(elf_vma)eVar30;\n                if (uVar21 <= local_94) goto LAB_00029a35;\n                pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);\n              }" { (expression_statement "eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2);" (assignment_expression "eVar26._0_4_ = (*byte_get)((uchar *)pEVar19,2)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)pEVar19,2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)pEVar19,2)" ( (cast_expression "(uchar *)pEVar19" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal )))) ;) (expression_statement "eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2);" (assignment_expression "eVar27._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2)" (field_expression "eVar27._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)((int)&pEVar19->st_value + 2),2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((int)&pEVar19->st_value + 2),2)" ( (cast_expression "(uchar *)((int)&pEVar19->st_value + 2)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_value + 2)" ( (binary_expression "(int)&pEVar19->st_value + 2" (cast_expression "(int)&pEVar19->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_value" & (field_expression "pEVar19->st_value" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (expression_statement "eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2);" (assignment_expression "eVar28._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2)" (field_expression "eVar28._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)((int)&pEVar19->st_value + 4),2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((int)&pEVar19->st_value + 4),2)" ( (cast_expression "(uchar *)((int)&pEVar19->st_value + 4)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_value + 4)" ( (binary_expression "(int)&pEVar19->st_value + 4" (cast_expression "(int)&pEVar19->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_value" & (field_expression "pEVar19->st_value" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (expression_statement "eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2);" (assignment_expression "eVar25._0_2_ = (*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2)" (field_expression "eVar25._0_2_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)((int)&pEVar19->st_value + 6),2)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((int)&pEVar19->st_value + 6),2)" ( (cast_expression "(uchar *)((int)&pEVar19->st_value + 6)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_value + 6)" ( (binary_expression "(int)&pEVar19->st_value + 6" (cast_expression "(int)&pEVar19->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_value" & (field_expression "pEVar19->st_value" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (expression_statement "(*byte_get)((uchar *)&pEVar19->st_size,4);" (call_expression "(*byte_get)((uchar *)&pEVar19->st_size,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)&pEVar19->st_size,4)" ( (cast_expression "(uchar *)&pEVar19->st_size" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar19->st_size" & (field_expression "pEVar19->st_size" identifier -> field_identifier))) , number_literal ))) ;) (expression_statement "eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4);" (assignment_expression "eVar29._0_4_ = (*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4)" (field_expression "eVar29._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)((int)&pEVar19->st_size + 4),4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)((int)&pEVar19->st_size + 4),4)" ( (cast_expression "(uchar *)((int)&pEVar19->st_size + 4)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_size + 4)" ( (binary_expression "(int)&pEVar19->st_size + 4" (cast_expression "(int)&pEVar19->st_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_size" & (field_expression "pEVar19->st_size" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (expression_statement "eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4);" (assignment_expression "eVar30._0_4_ = (*byte_get)((uchar *)&pEVar19->st_name,4)" (field_expression "eVar30._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)((uchar *)&pEVar19->st_name,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "((uchar *)&pEVar19->st_name,4)" ( (cast_expression "(uchar *)&pEVar19->st_name" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar19->st_name" & (field_expression "pEVar19->st_name" identifier -> field_identifier))) , number_literal )))) ;) (expression_statement "pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff);" (assignment_expression "pcVar12 = get_ver_flags((uint)(elf_vma)eVar27 & 0xffff)" identifier = (call_expression "get_ver_flags((uint)(elf_vma)eVar27 & 0xffff)" identifier (argument_list "((uint)(elf_vma)eVar27 & 0xffff)" ( (binary_expression "(uint)(elf_vma)eVar27 & 0xffff" (cast_expression "(uint)(elf_vma)eVar27" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) & number_literal) )))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" identifier (argument_list "(0,"  %#06lx: Rev: %d  Flags: %s",5)" ( number_literal , (string_literal ""  %#06lx: Rev: %d  Flags: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12);" (call_expression "printf(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12)" identifier (argument_list "(pcVar13,local_9c,(uint)(elf_vma)eVar26 & 0xffff,pcVar12)" ( identifier , identifier , (binary_expression "(uint)(elf_vma)eVar26 & 0xffff" (cast_expression "(uint)(elf_vma)eVar26" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) & number_literal) , identifier ))) ;) (expression_statement "uVar21 = (uint)(ushort)(elf_vma)eVar25;" (assignment_expression "uVar21 = (uint)(ushort)(elf_vma)eVar25" identifier = (cast_expression "(uint)(ushort)(elf_vma)eVar25" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)(elf_vma)eVar25" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(elf_vma)eVar25" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (expression_statement "pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Index: %d  Cnt: %d  ",5)" identifier (argument_list "(0,"  Index: %d  Cnt: %d  ",5)" ( number_literal , (string_literal ""  Index: %d  Cnt: %d  "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21);" (call_expression "printf(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21)" identifier (argument_list "(pcVar12,(uint)(elf_vma)eVar28 & 0xffff,uVar21)" ( identifier , (binary_expression "(uint)(elf_vma)eVar28 & 0xffff" (cast_expression "(uint)(elf_vma)eVar28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) & number_literal) , identifier ))) ;) (expression_statement "eVar26._0_4_ = (elf_vma)(iVar18 - local_9c);" (assignment_expression "eVar26._0_4_ = (elf_vma)(iVar18 - local_9c)" (field_expression "eVar26._0_4_" identifier . field_identifier) = (call_expression "(elf_vma)(iVar18 - local_9c)" (parenthesized_expression "(elf_vma)" ( identifier )) (argument_list "(iVar18 - local_9c)" ( (binary_expression "iVar18 - local_9c" identifier - identifier) )))) ;) (if_statement "if (((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)) {\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }" if (parenthesized_expression "(((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8))" ( (binary_expression "((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29) ||\n                   (puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)" (parenthesized_expression "((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29)" ( (binary_expression "(uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar29" (cast_expression "(uint)(elf_vma)eVar26" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < (cast_expression "(uint)(elf_vma)eVar29" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar29" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )) || (parenthesized_expression "(puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8)" ( (comma_expression "puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29),\n                   puVar23 < puVar20 + 8" (assignment_expression "puVar20 = (uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29)" identifier = (cast_expression "(uchar *)((int)&pEVar19->st_value + (int)(elf_vma)eVar29)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar19->st_value + (int)(elf_vma)eVar29)" ( (binary_expression "(int)&pEVar19->st_value + (int)(elf_vma)eVar29" (cast_expression "(int)&pEVar19->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar19->st_value" & (field_expression "pEVar19->st_value" identifier -> field_identifier))) + (cast_expression "(int)(elf_vma)eVar29" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar29" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )))) , (binary_expression "puVar23 < puVar20 + 8" identifier < (binary_expression "puVar20 + 8" identifier + number_literal))) ))) )) (compound_statement "{\n                  if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;\n                  break;\n                }" { (if_statement "if (*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)\n                  goto LAB_00029a35;" if (parenthesized_expression "(*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94)" ( (binary_expression "*(uint *)((int)&(local_98->file_header).e_phoff + 4) <= local_94" (pointer_expression "*(uint *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(uint *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "pcVar12 = (char *)(*byte_get)(puVar20,4);" (assignment_expression "pcVar12 = (char *)(*byte_get)(puVar20,4)" identifier = (cast_expression "(char *)(*byte_get)(puVar20,4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*byte_get)(puVar20,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20,4)" ( identifier , number_literal ))))) ;) (expression_statement "eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);" (assignment_expression "eVar27._0_4_ = (*byte_get)(puVar20 + 4,4)" (field_expression "eVar27._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(puVar20 + 4,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20 + 4,4)" ( (binary_expression "puVar20 + 4" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)) {\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" if (parenthesized_expression "((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12))" ( (binary_expression "(dynamic_strings == (char *)0x0) || (dynamic_strings_length <= pcVar12)" (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_strings_length <= pcVar12)" ( (binary_expression "dynamic_strings_length <= pcVar12" identifier <= identifier) ))) )) (compound_statement "{\n                  pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"Name index: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Name index: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Name index: %ld\n",5)" identifier (argument_list "(0,"Name index: %ld\n",5)" ( number_literal , (string_literal ""Name index: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" else (compound_statement "{\n                  pcVar12 = pcVar12 + (int)dynamic_strings;\n                  pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" { (expression_statement "pcVar12 = pcVar12 + (int)dynamic_strings;" (assignment_expression "pcVar12 = pcVar12 + (int)dynamic_strings" identifier = (binary_expression "pcVar12 + (int)dynamic_strings" identifier + (cast_expression "(int)dynamic_strings" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar13 = (char *)dcgettext(0,"Name: %s\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"Name: %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Name: %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Name: %s\n",5)" identifier (argument_list "(0,"Name: %s\n",5)" ( number_literal , (string_literal ""Name: %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) }))) (expression_statement "uVar22 = 1;" (assignment_expression "uVar22 = 1" identifier = number_literal) ;) (expression_statement "printf(pcVar13,pcVar12);" (call_expression "printf(pcVar13,pcVar12)" identifier (argument_list "(pcVar13,pcVar12)" ( identifier , identifier ))) ;) (expression_statement "local_bc = (int)(elf_vma)eVar29 + local_9c;" (assignment_expression "local_bc = (int)(elf_vma)eVar29 + local_9c" identifier = (binary_expression "(int)(elf_vma)eVar29 + local_9c" (cast_expression "(int)(elf_vma)eVar29" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar29" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) + identifier)) ;) (if_statement "if (1 < (ushort)(elf_vma)eVar25) {\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }" if (parenthesized_expression "(1 < (ushort)(elf_vma)eVar25)" ( (binary_expression "1 < (ushort)(elf_vma)eVar25" number_literal < (cast_expression "(ushort)(elf_vma)eVar25" ( (type_descriptor "ushort" type_identifier) ) (cast_expression "(elf_vma)eVar25" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )) (compound_statement "{\n                  do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);\n                }" { (do_statement "do {\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  } while (uVar21 != uVar22);" do (compound_statement "{\n                    if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }\n                    if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }\nLAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;\n                    local_bc = local_bc + (int)(elf_vma)eVar27;\n                    if (puVar23 < puVar20 + 8) goto LAB_0002999f;\n                    eVar28._0_4_ = (*byte_get)(puVar20,4);\n                    eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);\n                    pcVar12 = dynamic_strings;\n                    if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }\n                    uVar22 = uVar22 + 1;\n                  }" { (if_statement "if (7 < (uint)(elf_vma)eVar27) {\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }" if (parenthesized_expression "(7 < (uint)(elf_vma)eVar27)" ( (binary_expression "7 < (uint)(elf_vma)eVar27" number_literal < (cast_expression "(uint)(elf_vma)eVar27" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )) (compound_statement "{\n                      if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;\nLAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar12);\n                      break;\n                    }" { (if_statement "if ((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))\n                      goto LAB_00029912;" if (parenthesized_expression "((uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20))" ( (binary_expression "(uint)(elf_vma)eVar27 <= (uint)((int)puVar23 - (int)puVar20)" (cast_expression "(uint)(elf_vma)eVar27" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) <= (call_expression "(uint)((int)puVar23 - (int)puVar20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar23 - (int)puVar20)" ( (binary_expression "(int)puVar23 - (int)puVar20" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_00029912;" goto statement_identifier ;)) (labeled_statement "LAB_0002999f:\n                      pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);" statement_identifier : (expression_statement "pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  Version def aux past end of section\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version def aux past end of section\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version def aux past end of section\n",5)" identifier (argument_list "(0,"  Version def aux past end of section\n",5)" ( number_literal , (string_literal ""  Version def aux past end of section\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar12);" (call_expression "printf(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (break_statement "break;" break ;) })) (if_statement "if ((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)) {\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }" if (parenthesized_expression "((uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0))" ( (binary_expression "(uVar21 - 1 != uVar22) || ((elf_vma)eVar27 != 0)" (parenthesized_expression "(uVar21 - 1 != uVar22)" ( (binary_expression "uVar21 - 1 != uVar22" (binary_expression "uVar21 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "((elf_vma)eVar27 != 0)" ( (binary_expression "(elf_vma)eVar27 != 0" (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier) != number_literal) ))) )) (compound_statement "{\n                      pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(pcVar12,(undefined4)(elf_vma)eVar27);\n                      break;\n                    }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Invalid vda_next field of %lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Invalid vda_next field of %lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Invalid vda_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vda_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vda_next field of %lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar12,(undefined4)(elf_vma)eVar27);" (call_expression "warn(pcVar12,(undefined4)(elf_vma)eVar27)" identifier (argument_list "(pcVar12,(undefined4)(elf_vma)eVar27)" ( identifier , (cast_expression "(undefined4)(elf_vma)eVar27" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ))) ;) (break_statement "break;" break ;) })) (labeled_statement "LAB_00029912:\n                    puVar20 = puVar20 + (int)(elf_vma)eVar27;" statement_identifier : (expression_statement "puVar20 = puVar20 + (int)(elf_vma)eVar27;" (assignment_expression "puVar20 = puVar20 + (int)(elf_vma)eVar27" identifier = (binary_expression "puVar20 + (int)(elf_vma)eVar27" identifier + (cast_expression "(int)(elf_vma)eVar27" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;)) (expression_statement "local_bc = local_bc + (int)(elf_vma)eVar27;" (assignment_expression "local_bc = local_bc + (int)(elf_vma)eVar27" identifier = (binary_expression "local_bc + (int)(elf_vma)eVar27" identifier + (cast_expression "(int)(elf_vma)eVar27" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar27" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (if_statement "if (puVar23 < puVar20 + 8) goto LAB_0002999f;" if (parenthesized_expression "(puVar23 < puVar20 + 8)" ( (binary_expression "puVar23 < puVar20 + 8" identifier < (binary_expression "puVar20 + 8" identifier + number_literal)) )) (goto_statement "goto LAB_0002999f;" goto statement_identifier ;)) (expression_statement "eVar28._0_4_ = (*byte_get)(puVar20,4);" (assignment_expression "eVar28._0_4_ = (*byte_get)(puVar20,4)" (field_expression "eVar28._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(puVar20,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20,4)" ( identifier , number_literal )))) ;) (expression_statement "eVar27._0_4_ = (*byte_get)(puVar20 + 4,4);" (assignment_expression "eVar27._0_4_ = (*byte_get)(puVar20 + 4,4)" (field_expression "eVar27._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(puVar20 + 4,4)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar20 + 4,4)" ( (binary_expression "puVar20 + 4" identifier + number_literal) , number_literal )))) ;) (expression_statement "pcVar12 = dynamic_strings;" (assignment_expression "pcVar12 = dynamic_strings" identifier = identifier) ;) (if_statement "if ((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)) {\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }\n                    else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }" if (parenthesized_expression "((dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28))" ( (binary_expression "(dynamic_strings == (char *)0x0) ||\n                       (dynamic_strings_length <= (uint)(elf_vma)eVar28)" (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_strings_length <= (uint)(elf_vma)eVar28)" ( (binary_expression "dynamic_strings_length <= (uint)(elf_vma)eVar28" identifier <= (cast_expression "(uint)(elf_vma)eVar28" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) ))) )) (compound_statement "{\n                      pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);\n                    }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" identifier (argument_list "(0,"  %#06lx: Parent %d, name index: %ld\n",5)" ( number_literal , (string_literal ""  %#06lx: Parent %d, name index: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28);" (call_expression "printf(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28)" identifier (argument_list "(pcVar12,local_bc,uVar22,(undefined4)(elf_vma)eVar28)" ( identifier , identifier , identifier , (cast_expression "(undefined4)(elf_vma)eVar28" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ))) ;) }) (else_clause "else {\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }" else (compound_statement "{\n                      pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);\n                    }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" identifier (argument_list "(0,"  %#06lx: Parent %d: %s\n",5)" ( number_literal , (string_literal ""  %#06lx: Parent %d: %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28);" (call_expression "printf(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28)" identifier (argument_list "(pcVar13,local_bc,uVar22,pcVar12 + (int)(elf_vma)eVar28)" ( identifier , identifier , identifier , (binary_expression "pcVar12 + (int)(elf_vma)eVar28" identifier + (cast_expression "(int)(elf_vma)eVar28" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar28" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) ))) ;) }))) (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar21 != uVar22)" ( (binary_expression "uVar21 != uVar22" identifier != identifier) )) ;) })) (expression_statement "uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4);" (assignment_expression "uVar21 = *(uint *)((int)&(local_98->file_header).e_phoff + 4)" identifier = (pointer_expression "*(uint *)((int)&(local_98->file_header).e_phoff + 4)" * (cast_expression "(uint *)((int)&(local_98->file_header).e_phoff + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_98->file_header).e_phoff + 4)" ( (binary_expression "(int)&(local_98->file_header).e_phoff + 4" (cast_expression "(int)&(local_98->file_header).e_phoff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_98->file_header).e_phoff" & (field_expression "(local_98->file_header).e_phoff" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((uint)(elf_vma)eVar30 < 0x14) {\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;" if (parenthesized_expression "((uint)(elf_vma)eVar30 < 0x14)" ( (binary_expression "(uint)(elf_vma)eVar30 < 0x14" (cast_expression "(uint)(elf_vma)eVar30" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < number_literal) )) (compound_statement "{\n                  if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }\n                }" { (if_statement "if ((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)) {\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }" if (parenthesized_expression "((uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0))" ( (binary_expression "(uVar21 - 1 != local_94) || ((elf_vma)eVar30 != 0)" (parenthesized_expression "(uVar21 - 1 != local_94)" ( (binary_expression "uVar21 - 1 != local_94" (binary_expression "uVar21 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "((elf_vma)eVar30 != 0)" ( (binary_expression "(elf_vma)eVar30 != 0" (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier) != number_literal) ))) )) (compound_statement "{\n                    pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(pcVar12,(undefined4)(elf_vma)eVar30);\n                    goto LAB_00029a35;\n                  }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"Invalid vd_next field of %lx\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Invalid vd_next field of %lx\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Invalid vd_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vd_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vd_next field of %lx\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar12,(undefined4)(elf_vma)eVar30);" (call_expression "warn(pcVar12,(undefined4)(elf_vma)eVar30)" identifier (argument_list "(pcVar12,(undefined4)(elf_vma)eVar30)" ( identifier , (cast_expression "(undefined4)(elf_vma)eVar30" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ))) ;) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;" else (if_statement "if ((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30) goto LAB_00029a9e;" if (parenthesized_expression "((uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30)" ( (binary_expression "(uint)(elf_vma)eVar26 < (uint)(elf_vma)eVar30" (cast_expression "(uint)(elf_vma)eVar26" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar26" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) < (cast_expression "(uint)(elf_vma)eVar30" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier))) )) (goto_statement "goto LAB_00029a9e;" goto statement_identifier ;)))) (expression_statement "local_94 = local_94 + 1;" (assignment_expression "local_94 = local_94 + 1" identifier = (binary_expression "local_94 + 1" identifier + number_literal)) ;) (expression_statement "local_9c = local_9c + (int)(elf_vma)eVar30;" (assignment_expression "local_9c = local_9c + (int)(elf_vma)eVar30" identifier = (binary_expression "local_9c + (int)(elf_vma)eVar30" identifier + (cast_expression "(int)(elf_vma)eVar30" ( (type_descriptor "int" primitive_type) ) (cast_expression "(elf_vma)eVar30" ( (type_descriptor "elf_vma" type_identifier) ) identifier)))) ;) (if_statement "if (uVar21 <= local_94) goto LAB_00029a35;" if (parenthesized_expression "(uVar21 <= local_94)" ( (binary_expression "uVar21 <= local_94" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (expression_statement "pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c);" (assignment_expression "pEVar19 = (Elf_Internal_Sym *)((int)&local_88->st_value + local_9c)" identifier = (cast_expression "(Elf_Internal_Sym *)((int)&local_88->st_value + local_9c)" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_88->st_value + local_9c)" ( (binary_expression "(int)&local_88->st_value + local_9c" (cast_expression "(int)&local_88->st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_88->st_value" & (field_expression "local_88->st_value" identifier -> field_identifier))) + identifier) )))) ;) }) while (parenthesized_expression "(&pEVar19->st_info <= puVar23)" ( (binary_expression "&pEVar19->st_info <= puVar23" (pointer_expression "&pEVar19->st_info" & (field_expression "pEVar19->st_info" identifier -> field_identifier)) <= identifier) )) ;) }))) (expression_statement "pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"  Version definition past end of section\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version definition past end of section\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version definition past end of section\n",5)" identifier (argument_list "(0,"  Version definition past end of section\n",5)" ( number_literal , (string_literal ""  Version definition past end of section\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar12);" (call_expression "printf(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })))))) (labeled_statement "LAB_0002929c:\n        local_80 = local_80 + 1;" statement_identifier : (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;)) (expression_statement "local_98 = (Filedata *)&(local_98->file_header).e_phentsize;" (assignment_expression "local_98 = (Filedata *)&(local_98->file_header).e_phentsize" identifier = (cast_expression "(Filedata *)&(local_98->file_header).e_phentsize" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_98->file_header).e_phentsize" & (field_expression "(local_98->file_header).e_phentsize" (parenthesized_expression "(local_98->file_header)" ( (field_expression "local_98->file_header" identifier -> field_identifier) )) . field_identifier)))) ;) }) while (parenthesized_expression "(local_80 < uVar21)" ( (binary_expression "local_80 < uVar21" identifier < identifier) )) ;) (if_statement "if (bVar7) {\n        return 1;\n      }" if (parenthesized_expression "(bVar7)" ( identifier )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) })) (expression_statement "pcVar12 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nNo version information found in this file.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nNo version information found in this file.\n",5)" identifier (argument_list "(0,"\nNo version information found in this file.\n",5)" ( number_literal , (string_literal ""\nNo version information found in this file.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar12);" (call_expression "printf(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 __regparm3 FUN_00029230(int param_1)\n\n{\n  int iVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined2 uVar5;\n  ushort uVar6;\n  short sVar7;\n  undefined4 uVar8;\n  void *pvVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  void *__ptr;\n  undefined4 uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  void *__ptr_00;\n  size_t sVar17;\n  int iVar18;\n  uint uVar19;\n  char *__s;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  FILE *__stream;\n  uint uVar23;\n  uint uVar24;\n  uint local_c4;\n  int local_bc;\n  uint local_a4;\n  int local_9c;\n  int local_98;\n  uint local_94;\n  uint local_8c;\n  void *local_88;\n  uint local_80;\n  uint local_44;\n  undefined1 local_40 [8];\n  undefined1 local_38 [4];\n  undefined1 local_34 [8];\n  undefined1 local_2c [2];\n  undefined1 local_2a [2];\n  undefined1 local_28 [4];\n  undefined1 local_24 [4];\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00029230(int param_1)\n\n{\n  int iVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined2 uVar5;\n  ushort uVar6;\n  short sVar7;\n  undefined4 uVar8;\n  void *pvVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  void *__ptr;\n  undefined4 uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  void *__ptr_00;\n  size_t sVar17;\n  int iVar18;\n  uint uVar19;\n  char *__s;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  FILE *__stream;\n  uint uVar23;\n  uint uVar24;\n  uint local_c4;\n  int local_bc;\n  uint local_a4;\n  int local_9c;\n  int local_98;\n  uint local_94;\n  uint local_8c;\n  void *local_88;\n  uint local_80;\n  uint local_44;\n  undefined1 local_40 [8];\n  undefined1 local_38 [4];\n  undefined1 local_34 [8];\n  undefined1 local_2c [2];\n  undefined1 local_2a [2];\n  undefined1 local_28 [4];\n  undefined1 local_24 [4];\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }\n  return 1;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00029230(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined2 uVar5;\n  ushort uVar6;\n  short sVar7;\n  undefined4 uVar8;\n  void *pvVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  void *__ptr;\n  undefined4 uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  void *__ptr_00;\n  size_t sVar17;\n  int iVar18;\n  uint uVar19;\n  char *__s;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  FILE *__stream;\n  uint uVar23;\n  uint uVar24;\n  uint local_c4;\n  int local_bc;\n  uint local_a4;\n  int local_9c;\n  int local_98;\n  uint local_94;\n  uint local_8c;\n  void *local_88;\n  uint local_80;\n  uint local_44;\n  undefined1 local_40 [8];\n  undefined1 local_38 [4];\n  undefined1 local_34 [8];\n  undefined1 local_2c [2];\n  undefined1 local_2a [2];\n  undefined1 local_28 [4];\n  undefined1 local_24 [4];\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }\n  return 1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined2 uVar5;" type_identifier identifier ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "short sVar7;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "void *pvVar9;" primitive_type (pointer_declarator "*pvVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "void *__ptr_00;" primitive_type (pointer_declarator "*__ptr_00" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "FILE *__stream;" type_identifier (pointer_declarator "*__stream" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint local_c4;" type_identifier identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "void *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "undefined1 local_40 [8];" type_identifier (array_declarator "local_40 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_38 [4];" type_identifier (array_declarator "local_38 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_34 [8];" type_identifier (array_declarator "local_34 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2c [2];" type_identifier (array_declarator "local_2c [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_2a [2];" type_identifier (array_declarator "local_2a [2]" identifier [ number_literal ]) ;) (declaration "undefined1 local_28 [4];" type_identifier (array_declarator "local_28 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_24 [4];" type_identifier (array_declarator "local_24 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_20 [12];" type_identifier (array_declarator "local_20 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar3 = PTR_stdout_000b3fd8;" (assignment_expression "puVar3 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "uStack_14 = 0x29239;" (assignment_expression "uStack_14 = 0x29239" identifier = number_literal) ;) (if_statement "if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }" if (parenthesized_expression "(DAT_000b633c != 0)" ( (binary_expression "DAT_000b633c != 0" identifier != number_literal) )) (compound_statement "{\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }" { (expression_statement "local_98 = *(int *)(param_1 + 0x5c);" (assignment_expression "local_98 = *(int *)(param_1 + 0x5c)" identifier = (pointer_expression "*(int *)(param_1 + 0x5c)" * (cast_expression "(int *)(param_1 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" identifier = (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (if_statement "if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }" { (do_statement "do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);" do (compound_statement "{\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      }" { (expression_statement "iVar1 = *(int *)(local_98 + 4);" (assignment_expression "iVar1 = *(int *)(local_98 + 4)" identifier = (pointer_expression "*(int *)(local_98 + 4)" * (cast_expression "(int *)(local_98 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 4)" ( (binary_expression "local_98 + 4" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(iVar1 == 0x6ffffffe)" ( (binary_expression "iVar1 == 0x6ffffffe" identifier == number_literal) )) (compound_statement "{\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }" { (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" * (cast_expression "(undefined4 *)(local_98 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" identifier = (cast_expression "(char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" identifier (argument_list "(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" ( number_literal , (string_literal ""\nVersion needs section \'%s\' contains %u entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion needs section \'%s\' contains %u entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" * (cast_expression "(undefined4 *)(local_98 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12,uVar8);" (call_expression "printf(pcVar10,uVar12,uVar8)" identifier (argument_list "(pcVar10,uVar12,uVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0," Addr: 0x",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," Addr: 0x",5)" identifier = (cast_expression "(char *)dcgettext(0," Addr: 0x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Addr: 0x",5)" identifier (argument_list "(0," Addr: 0x",5)" ( number_literal , (string_literal "" Addr: 0x"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" identifier (argument_list "(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98 + 0x10)" * (cast_expression "(undefined4 *)(local_98 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x10)" ( (binary_expression "local_98 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x14)" * (cast_expression "(undefined4 *)(local_98 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x14)" ( (binary_expression "local_98 + 0x14" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = FUN_00023d10();" (assignment_expression "uVar11 = FUN_00023d10()" identifier = (call_expression "FUN_00023d10()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x28)" * (cast_expression "(undefined4 *)(local_98 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x18)" * (cast_expression "(undefined4 *)(local_98 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12,uVar8,uVar11);" (call_expression "printf(pcVar10,uVar12,uVar8,uVar11)" identifier (argument_list "(pcVar10,uVar12,uVar8,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = dcgettext(0,"Version Needs section",5);" (assignment_expression "uVar8 = dcgettext(0,"Version Needs section",5)" identifier = (call_expression "dcgettext(0,"Version Needs section",5)" identifier (argument_list "(0,"Version Needs section",5)" ( number_literal , (string_literal ""Version Needs section"" " string_content ") , number_literal )))) ;) (expression_statement "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);" (assignment_expression "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" identifier = (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" identifier (argument_list "(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" ( number_literal , number_literal , (pointer_expression "*(undefined4 *)(local_98 + 0x20)" * (cast_expression "(undefined4 *)(local_98 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x24)" * (cast_expression "(undefined4 *)(local_98 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x24)" ( (binary_expression "local_98 + 0x24" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" if (parenthesized_expression "(local_88 == (void *)0x0)" ( (binary_expression "local_88 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" { (labeled_statement "LAB_00029604:\n            bVar2 = true;" statement_identifier : (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;)) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" identifier = (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" else (compound_statement "{\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" { (expression_statement "iVar1 = *(int *)(local_98 + 0x20);" (assignment_expression "iVar1 = *(int *)(local_98 + 0x20)" identifier = (pointer_expression "*(int *)(local_98 + 0x20)" * (cast_expression "(int *)(local_98 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = (int)local_88 + iVar1;" (assignment_expression "uVar23 = (int)local_88 + iVar1" identifier = (binary_expression "(int)local_88 + iVar1" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }" { (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" identifier = number_literal) ;) (if_statement "if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" if (parenthesized_expression "(uVar23 < (int)local_88 + 0x10U)" ( (binary_expression "uVar23 < (int)local_88 + 0x10U" identifier < (binary_expression "(int)local_88 + 0x10U" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) )) (compound_statement "{\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }" { (labeled_statement "LAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;" statement_identifier : (if_statement "if (uVar20 <= local_8c) goto LAB_00029a35;" if (parenthesized_expression "(uVar20 <= local_8c)" ( (binary_expression "uVar20 <= local_8c" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;))) }) (else_clause "else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" else (compound_statement "{\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "pvVar9 = local_88;" (assignment_expression "pvVar9 = local_88" identifier = identifier) ;) (do_statement "do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);" do (compound_statement "{\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                }" { (expression_statement "uVar20 = (*DAT_000b9dd8)(pvVar9,2);" (assignment_expression "uVar20 = (*DAT_000b9dd8)(pvVar9,2)" identifier = (call_expression "(*DAT_000b9dd8)(pvVar9,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pvVar9,2)" ( identifier , number_literal )))) ;) (expression_statement "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 2,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 2,2)" ( (binary_expression "(int)pvVar9 + 2" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 4,4)" ( (binary_expression "(int)pvVar9 + 4" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 8,4)" ( (binary_expression "(int)pvVar9 + 8" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);" (assignment_expression "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 0xc,4)" ( (binary_expression "(int)pvVar9 + 0xc" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Version: %d",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Version: %d",5)" identifier (argument_list "(0,"  %#06lx: Version: %d",5)" ( number_literal , (string_literal ""  %#06lx: Version: %d"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_94,uVar20 & 0xffff);" (call_expression "printf(pcVar10,local_94,uVar20 & 0xffff)" identifier (argument_list "(pcVar10,local_94,uVar20 & 0xffff)" ( identifier , identifier , (binary_expression "uVar20 & 0xffff" identifier & number_literal) ))) ;) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" if (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19))" ( (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)" (parenthesized_expression "(DAT_000b7538 == 0)" ( (binary_expression "DAT_000b7538 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000b7534 <= uVar19)" ( (binary_expression "DAT_000b7534 <= uVar19" identifier <= identifier) ))) )) (compound_statement "{\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  File: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  File: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"  File: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  File: %lx",5)" identifier (argument_list "(0,"  File: %lx",5)" ( number_literal , (string_literal ""  File: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar19);" (call_expression "printf(pcVar10,uVar19)" identifier (argument_list "(pcVar10,uVar19)" ( identifier , identifier ))) ;) }) (else_clause "else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" else (compound_statement "{\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" { (expression_statement "iVar21 = uVar19 + DAT_000b7538;" (assignment_expression "iVar21 = uVar19 + DAT_000b7538" identifier = (binary_expression "uVar19 + DAT_000b7538" identifier + identifier)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  File: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  File: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  File: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  File: %s",5)" identifier (argument_list "(0,"  File: %s",5)" ( number_literal , (string_literal ""  File: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,iVar21);" (call_expression "printf(pcVar10,iVar21)" identifier (argument_list "(pcVar10,iVar21)" ( identifier , identifier ))) ;) }))) (expression_statement "uVar20 = (uint)uVar6;" (assignment_expression "uVar20 = (uint)uVar6" identifier = (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Cnt: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Cnt: %d\n",5)" identifier (argument_list "(0,"  Cnt: %d\n",5)" ( number_literal , (string_literal ""  Cnt: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar20);" (call_expression "printf(pcVar10,uVar20)" identifier (argument_list "(pcVar10,uVar20)" ( identifier , identifier ))) ;) (expression_statement "uVar19 = iVar1 - local_94;" (assignment_expression "uVar19 = iVar1 - local_94" identifier = (binary_expression "iVar1 - local_94" identifier - identifier)) ;) (if_statement "if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }" if (parenthesized_expression "(uVar19 < uVar13)" ( (binary_expression "uVar19 < uVar13" identifier < identifier) )) (compound_statement "{\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }" { (if_statement "if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;" if (parenthesized_expression "(*(uint *)(local_98 + 0x2c) <= local_8c)" ( (binary_expression "*(uint *)(local_98 + 0x2c) <= local_8c" (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "iVar21 = (int)pvVar9 + uVar13;" (assignment_expression "iVar21 = (int)pvVar9 + uVar13" identifier = (binary_expression "(int)pvVar9 + uVar13" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "local_bc = uVar13 + local_94;" (assignment_expression "local_bc = uVar13 + local_94" identifier = (binary_expression "uVar13 + local_94" identifier + identifier)) ;) (if_statement "if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }" { (if_statement "if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }" if (parenthesized_expression "(iVar21 + 0x10U <= uVar23)" ( (binary_expression "iVar21 + 0x10U <= uVar23" (binary_expression "iVar21 + 0x10U" identifier + number_literal) <= identifier) )) (compound_statement "{\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }" { (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (do_statement "do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);" do (compound_statement "{\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      }" { (expression_statement "(*DAT_000b9dd8)(iVar21,4);" (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21,4)" ( identifier , number_literal ))) ;) (expression_statement "(*DAT_000b9dd8)(iVar21 + 4,2);" (call_expression "(*DAT_000b9dd8)(iVar21 + 4,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 4,2)" ( (binary_expression "iVar21 + 4" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);" (assignment_expression "uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 6,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 6,2)" ( (binary_expression "iVar21 + 6" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 8,4)" ( (binary_expression "iVar21 + 8" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 0xc,4)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) , number_literal )))) ;) (expression_statement "iVar18 = DAT_000b7538;" (assignment_expression "iVar18 = DAT_000b7538" identifier = identifier) ;) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" if (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15))" ( (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)" (parenthesized_expression "(DAT_000b7538 == 0)" ( (binary_expression "DAT_000b7538 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000b7534 <= uVar15)" ( (binary_expression "DAT_000b7534 <= uVar15" identifier <= identifier) ))) )) (compound_statement "{\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx:   Name index: %lx",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx:   Name index: %lx",5)" identifier (argument_list "(0,"  %#06lx:   Name index: %lx",5)" ( number_literal , (string_literal ""  %#06lx:   Name index: %lx"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_bc,uVar15);" (call_expression "printf(pcVar10,local_bc,uVar15)" identifier (argument_list "(pcVar10,local_bc,uVar15)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" else (compound_statement "{\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx:   Name: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx:   Name: %s",5)" identifier (argument_list "(0,"  %#06lx:   Name: %s",5)" ( number_literal , (string_literal ""  %#06lx:   Name: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_bc,iVar18 + uVar15);" (call_expression "printf(pcVar10,local_bc,iVar18 + uVar15)" identifier (argument_list "(pcVar10,local_bc,iVar18 + uVar15)" ( identifier , identifier , (binary_expression "iVar18 + uVar15" identifier + identifier) ))) ;) }))) (expression_statement "uVar8 = FUN_0001fa80();" (assignment_expression "uVar8 = FUN_0001fa80()" identifier = (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Flags: %s  Version: %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Flags: %s  Version: %d\n",5)" identifier (argument_list "(0,"  Flags: %s  Version: %d\n",5)" ( number_literal , (string_literal ""  Flags: %s  Version: %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar8,uVar13 & 0xffff);" (call_expression "printf(pcVar10,uVar8,uVar13 & 0xffff)" identifier (argument_list "(pcVar10,uVar8,uVar13 & 0xffff)" ( identifier , identifier , (binary_expression "uVar13 & 0xffff" identifier & number_literal) ))) ;) (if_statement "if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;" if (parenthesized_expression "(uVar16 < 0x10)" ( (binary_expression "uVar16 < 0x10" identifier < number_literal) )) (compound_statement "{\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }" { (if_statement "if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }" if (parenthesized_expression "((uVar20 - 1 != local_c4) || (uVar16 != 0))" ( (binary_expression "(uVar20 - 1 != local_c4) || (uVar16 != 0)" (parenthesized_expression "(uVar20 - 1 != local_c4)" ( (binary_expression "uVar20 - 1 != local_c4" (binary_expression "uVar20 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }" { (expression_statement "uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5)" identifier = (call_expression "dcgettext(0,"Invalid vna_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vna_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vna_next field of %lx\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8,uVar16);" (call_expression "warn(uVar8,uVar16)" identifier (argument_list "(uVar8,uVar16)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00029dda;" goto statement_identifier ;) })) }) (else_clause "else if (uVar23 - iVar21 < uVar16) break;" else (if_statement "if (uVar23 - iVar21 < uVar16) break;" if (parenthesized_expression "(uVar23 - iVar21 < uVar16)" ( (binary_expression "uVar23 - iVar21 < uVar16" (binary_expression "uVar23 - iVar21" identifier - identifier) < identifier) )) (break_statement "break;" break ;)))) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" identifier = (binary_expression "local_c4 + 1" identifier + number_literal)) ;) (expression_statement "iVar21 = iVar21 + uVar16;" (assignment_expression "iVar21 = iVar21 + uVar16" identifier = (binary_expression "iVar21 + uVar16" identifier + identifier)) ;) (expression_statement "local_bc = local_bc + uVar16;" (assignment_expression "local_bc = local_bc + uVar16" identifier = (binary_expression "local_bc + uVar16" identifier + identifier)) ;) (if_statement "if (uVar20 == local_c4) goto LAB_00029dda;" if (parenthesized_expression "(uVar20 == local_c4)" ( (binary_expression "uVar20 == local_c4" identifier == identifier) )) (goto_statement "goto LAB_00029dda;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar21 + 0x10U <= uVar23)" ( (binary_expression "iVar21 + 0x10U <= uVar23" (binary_expression "iVar21 + 0x10U" identifier + number_literal) <= identifier) )) ;) })) (expression_statement "uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5)" identifier = (call_expression "dcgettext(0,"Missing Version Needs auxillary information\n",5)" identifier (argument_list "(0,"Missing Version Needs auxillary information\n",5)" ( number_literal , (string_literal ""Missing Version Needs auxillary information\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) })) (labeled_statement "LAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);" statement_identifier : (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;)) (if_statement "if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;" if (parenthesized_expression "(uVar14 < 0x10)" ( (binary_expression "uVar14 < 0x10" identifier < number_literal) )) (compound_statement "{\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }" { (if_statement "if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }" if (parenthesized_expression "((uVar20 - 1 != local_8c) || (uVar14 != 0))" ( (binary_expression "(uVar20 - 1 != local_8c) || (uVar14 != 0)" (parenthesized_expression "(uVar20 - 1 != local_8c)" ( (binary_expression "uVar20 - 1 != local_8c" (binary_expression "uVar20 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }" { (expression_statement "uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5)" identifier = (call_expression "dcgettext(0,"Invalid vn_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vn_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vn_next field of %lx\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8,uVar14);" (call_expression "warn(uVar8,uVar14)" identifier (argument_list "(uVar8,uVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if (uVar19 < uVar14) goto LAB_00029ea6;" else (if_statement "if (uVar19 < uVar14) goto LAB_00029ea6;" if (parenthesized_expression "(uVar19 < uVar14)" ( (binary_expression "uVar19 < uVar14" identifier < identifier) )) (goto_statement "goto LAB_00029ea6;" goto statement_identifier ;)))) (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" identifier = (binary_expression "local_8c + 1" identifier + number_literal)) ;) (expression_statement "local_94 = local_94 + uVar14;" (assignment_expression "local_94 = local_94 + uVar14" identifier = (binary_expression "local_94 + uVar14" identifier + identifier)) ;) (if_statement "if (uVar20 <= local_8c) goto LAB_00029a35;" if (parenthesized_expression "(uVar20 <= local_8c)" ( (binary_expression "uVar20 <= local_8c" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (expression_statement "pvVar9 = (void *)((int)local_88 + local_94);" (assignment_expression "pvVar9 = (void *)((int)local_88 + local_94)" identifier = (cast_expression "(void *)((int)local_88 + local_94)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_88 + local_94)" ( (binary_expression "(int)local_88 + local_94" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((int)pvVar9 + 0x10U <= uVar23)" ( (binary_expression "(int)pvVar9 + 0x10U <= uVar23" (binary_expression "(int)pvVar9 + 0x10U" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) <= identifier) )) ;) }))) (expression_statement "uVar8 = dcgettext(0,"Missing Version Needs information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Missing Version Needs information\n",5)" identifier = (call_expression "dcgettext(0,"Missing Version Needs information\n",5)" identifier (argument_list "(0,"Missing Version Needs information\n",5)" ( number_literal , (string_literal ""Missing Version Needs information\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) })) (labeled_statement "LAB_00029a35:\n            free(local_88);" statement_identifier : (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;)) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" identifier = (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) }))) }) (else_clause "else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" else (if_statement "if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(iVar1 == 0x6fffffff)" ( (binary_expression "iVar1 == 0x6fffffff" identifier == number_literal) )) (compound_statement "{\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }" { (if_statement "if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }" if (parenthesized_expression "((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20))" ( (binary_expression "(*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)" (parenthesized_expression "(*(uint *)(local_98 + 0x28) < uVar20)" ( (binary_expression "*(uint *)(local_98 + 0x28) < uVar20" (pointer_expression "*(uint *)(local_98 + 0x28)" * (cast_expression "(uint *)(local_98 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) )))) < identifier) )) && (parenthesized_expression "(iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)" ( (comma_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20" (assignment_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48" identifier = (binary_expression "*(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48" (pointer_expression "*(int *)(param_1 + 0x5c)" * (cast_expression "(int *)(param_1 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) + (binary_expression "*(uint *)(local_98 + 0x28) * 0x48" (pointer_expression "*(uint *)(local_98 + 0x28)" * (cast_expression "(uint *)(local_98 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) )))) * number_literal))) , (binary_expression "*(uint *)(iVar1 + 0x28) < uVar20" (pointer_expression "*(uint *)(iVar1 + 0x28)" * (cast_expression "(uint *)(iVar1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) < identifier)) ))) )) (compound_statement "{\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }" { (expression_statement "iVar21 = *(int *)(local_98 + 0x24);" (assignment_expression "iVar21 = *(int *)(local_98 + 0x24)" identifier = (pointer_expression "*(int *)(local_98 + 0x24)" * (cast_expression "(int *)(local_98 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x24)" ( (binary_expression "local_98 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(uint *)(local_98 + 0x20);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x20)" identifier = (pointer_expression "*(uint *)(local_98 + 0x20)" * (cast_expression "(uint *)(local_98 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }" if (parenthesized_expression "(DAT_000b6324 == 0)" ( (binary_expression "DAT_000b6324 == 0" identifier == number_literal) )) (compound_statement "{\n              local_88 = (void *)FUN_00022830();\n            }" { (expression_statement "local_88 = (void *)FUN_00022830();" (assignment_expression "local_88 = (void *)FUN_00022830()" identifier = (cast_expression "(void *)FUN_00022830()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00022830()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else {\n              local_88 = (void *)FUN_000222e0();\n            }" else (compound_statement "{\n              local_88 = (void *)FUN_000222e0();\n            }" { (expression_statement "local_88 = (void *)FUN_000222e0();" (assignment_expression "local_88 = (void *)FUN_000222e0()" identifier = (cast_expression "(void *)FUN_000222e0()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000222e0()" identifier (argument_list "()" ( ))))) ;) }))) (if_statement "if (local_88 == (void *)0x0) goto LAB_00029604;" if (parenthesized_expression "(local_88 == (void *)0x0)" ( (binary_expression "local_88 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00029604;" goto statement_identifier ;)) (expression_statement "iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48" identifier = (binary_expression "*(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48" (pointer_expression "*(int *)(param_1 + 0x5c)" * (cast_expression "(int *)(param_1 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) )))) + (binary_expression "*(int *)(iVar1 + 0x28) * 0x48" (pointer_expression "*(int *)(iVar1 + 0x28)" * (cast_expression "(int *)(iVar1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "uVar8 = dcgettext(0,"version string table",5);" (assignment_expression "uVar8 = dcgettext(0,"version string table",5)" identifier = (call_expression "dcgettext(0,"version string table",5)" identifier (argument_list "(0,"version string table",5)" ( number_literal , (string_literal ""version string table"" " string_content ") , number_literal )))) ;) (expression_statement "pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);" (assignment_expression "pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" identifier = (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" identifier (argument_list "(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" ( number_literal , number_literal , (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" * (cast_expression "(undefined4 *)(iVar1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar1 + 0x24)" * (cast_expression "(undefined4 *)(iVar1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }" if (parenthesized_expression "(pvVar9 != (void *)0x0)" ( (binary_expression "pvVar9 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }" { (expression_statement "uVar20 = uVar20 >> 1;" (assignment_expression "uVar20 = uVar20 >> 1" identifier = (binary_expression "uVar20 >> 1" identifier >> number_literal)) ;) (expression_statement "uVar23 = uVar20 | iVar21 << 0x1f;" (assignment_expression "uVar23 = uVar20 | iVar21 << 0x1f" identifier = (binary_expression "uVar20 | iVar21 << 0x1f" identifier | (binary_expression "iVar21 << 0x1f" identifier << number_literal))) ;) (expression_statement "uVar8 = FUN_00022190();" (assignment_expression "uVar8 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" identifier (argument_list "(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" ( number_literal , (string_literal ""\nVersion symbols section \'%s\' contains %lu entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion symbols section \'%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(pcVar10,uVar8,uVar23);" (call_expression "printf(pcVar10,uVar8,uVar23)" identifier (argument_list "(pcVar10,uVar8,uVar23)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0," Addr: ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," Addr: ",5)" identifier = (cast_expression "(char *)dcgettext(0," Addr: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," Addr: ",5)" identifier (argument_list "(0," Addr: ",5)" ( number_literal , (string_literal "" Addr: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "puVar4 = PTR_stdout_000b3fd8;" (assignment_expression "puVar4 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14))" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14))" ( (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98 + 0x10)" * (cast_expression "(undefined4 *)(local_98 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x10)" ( (binary_expression "local_98 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x14)" * (cast_expression "(undefined4 *)(local_98 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x14)" ( (binary_expression "local_98 + 0x14" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = FUN_00022190();" (assignment_expression "uVar11 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x18)" * (cast_expression "(undefined4 *)(local_98 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x28)" * (cast_expression "(undefined4 *)(local_98 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar8,uVar12,uVar11);" (call_expression "printf(pcVar10,uVar8,uVar12,uVar11)" identifier (argument_list "(pcVar10,uVar8,uVar12,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar21 = uVar20 * 2;" (assignment_expression "iVar21 = uVar20 * 2" identifier = (binary_expression "uVar20 * 2" identifier * number_literal)) ;) (expression_statement "FUN_00026dc0(iVar21,0);" (call_expression "FUN_00026dc0(iVar21,0)" identifier (argument_list "(iVar21,0)" ( identifier , number_literal ))) ;) (expression_statement "uVar8 = dcgettext(0,"version symbol data",5);" (assignment_expression "uVar8 = dcgettext(0,"version symbol data",5)" identifier = (call_expression "dcgettext(0,"version symbol data",5)" identifier (argument_list "(0,"version symbol data",5)" ( number_literal , (string_literal ""version symbol data"" " string_content ") , number_literal )))) ;) (expression_statement "__ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);" (assignment_expression "__ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8)" identifier = (cast_expression "(void *)FUN_0001bf90(uVar23,0,2,0,uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001bf90(uVar23,0,2,0,uVar8)" identifier (argument_list "(uVar23,0,2,0,uVar8)" ( identifier , number_literal , number_literal , number_literal , identifier ))))) ;) (if_statement "if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }" if (parenthesized_expression "(__ptr == (void *)0x0)" ( (binary_expression "__ptr == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }" { (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) (expression_statement "free(local_88);" (call_expression "free(local_88)" identifier (argument_list "(local_88)" ( identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" identifier = (pointer_expression "*(uint *)(param_1 + 0x54)" * (cast_expression "(uint *)(param_1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0002929c;" goto statement_identifier ;) })) (expression_statement "__ptr_00 = (void *)FUN_0005dac0(uVar23,2);" (assignment_expression "__ptr_00 = (void *)FUN_0005dac0(uVar23,2)" identifier = (cast_expression "(void *)FUN_0005dac0(uVar23,2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005dac0(uVar23,2)" identifier (argument_list "(uVar23,2)" ( identifier , number_literal ))))) ;) (if_statement "if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (compound_statement "{\n                free(__ptr);\n              }" { (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) }) (else_clause "else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" else (compound_statement "{\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" { (do_statement "do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);" do (compound_statement "{\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                }" { (expression_statement "uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);" (assignment_expression "uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2)" identifier = (call_expression "(*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)__ptr + iVar21 + -2,2)" ( (binary_expression "(int)__ptr + iVar21 + -2" (binary_expression "(int)__ptr + iVar21" (cast_expression "(int)__ptr" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) , number_literal )))) ;) (expression_statement "*(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;" (assignment_expression "*(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5" (pointer_expression "*(undefined2 *)((int)__ptr_00 + iVar21 + -2)" * (cast_expression "(undefined2 *)((int)__ptr_00 + iVar21 + -2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + iVar21 + -2)" ( (binary_expression "(int)__ptr_00 + iVar21 + -2" (binary_expression "(int)__ptr_00 + iVar21" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar21 = iVar21 + -2;" (assignment_expression "iVar21 = iVar21 + -2" identifier = (binary_expression "iVar21 + -2" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "local_a4 = 4;" (assignment_expression "local_a4 = 4" identifier = number_literal) ;) (do_statement "do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);" do (compound_statement "{\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                }" { (expression_statement "uVar20 = local_a4 - 4;" (assignment_expression "uVar20 = local_a4 - 4" identifier = (binary_expression "local_a4 - 4" identifier - number_literal)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"*invalid*",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"*invalid*",5)" identifier = (cast_expression "(char *)dcgettext(0,"*invalid*",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"*invalid*",5)" identifier (argument_list "(0,"*invalid*",5)" ( number_literal , (string_literal ""*invalid*"" " string_content ") , number_literal ))))) ;) (expression_statement "printf("  %03x:",uVar20);" (call_expression "printf("  %03x:",uVar20)" identifier (argument_list "("  %03x:",uVar20)" ( (string_literal ""  %03x:"" " string_content ") , identifier ))) ;) (do_statement "do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);" do (compound_statement "{\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  }" { (if_statement "if (uVar23 <= uVar20) break;" if (parenthesized_expression "(uVar23 <= uVar20)" ( (binary_expression "uVar23 <= uVar20" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);" (assignment_expression "uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2)" identifier = (pointer_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(ushort *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) ))))) ;) (if_statement "if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }" { (expression_statement "__stream = *(FILE **)puVar4;" (assignment_expression "__stream = *(FILE **)puVar4" identifier = (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar22 = "   0 (*local*)    ";" (assignment_expression "pcVar22 = "   0 (*local*)    "" identifier = (string_literal ""   0 (*local*)    "" " string_content ")) ;) (labeled_statement "LAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);" statement_identifier : (expression_statement "pcVar22 = (char *)dcgettext(0,pcVar22,5);" (assignment_expression "pcVar22 = (char *)dcgettext(0,pcVar22,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar22,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar22,5)" identifier (argument_list "(0,pcVar22,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "fputs(pcVar22,__stream);" (call_expression "fputs(pcVar22,__stream)" identifier (argument_list "(pcVar22,__stream)" ( identifier , identifier ))) ;) }) (else_clause "else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" else (compound_statement "{\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" { (if_statement "if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }" if (parenthesized_expression "(uVar6 == 1)" ( (binary_expression "uVar6 == 1" identifier == number_literal) )) (compound_statement "{\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }" { (expression_statement "__stream = *(FILE **)puVar4;" (assignment_expression "__stream = *(FILE **)puVar4" identifier = (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar22 = "   1 (*global*)   ";" (assignment_expression "pcVar22 = "   1 (*global*)   "" identifier = (string_literal ""   1 (*global*)   "" " string_content ")) ;) (goto_statement "goto LAB_0002a221;" goto statement_identifier ;) })) (expression_statement "local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);" (assignment_expression "local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" identifier = (call_expression "printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" identifier (argument_list "("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" ( (string_literal ""%4x%c"" " string_content ") , (binary_expression "uVar6 & 0x7fff" identifier & number_literal) , (binary_expression "((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20" (parenthesized_expression "((int)(short)uVar6 >> 0x1f & 0x48U)" ( (binary_expression "(int)(short)uVar6 >> 0x1f & 0x48U" (binary_expression "(int)(short)uVar6 >> 0x1f" (cast_expression "(int)(short)uVar6" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)uVar6" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) >> number_literal) & number_literal) )) + number_literal) )))) ;) (if_statement "if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" if (parenthesized_expression "(uVar20 < local_44)" ( (binary_expression "uVar20 < local_44" identifier < identifier) )) (compound_statement "{\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }" { (if_statement "if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" if (parenthesized_expression "(DAT_000b638c == 0 && DAT_000b6388 == 0)" ( (binary_expression "DAT_000b638c == 0 && DAT_000b6388 == 0" (binary_expression "DAT_000b638c == 0" identifier == number_literal) && (binary_expression "DAT_000b6388 == 0" identifier == number_literal)) )) (compound_statement "{\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }" { (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) != number_literal) )) && (parenthesized_expression "(pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)" ( (comma_expression "pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0" (assignment_expression "pcVar22 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "DAT_000b639c != 0 || DAT_000b6398 != 0" (binary_expression "DAT_000b639c != 0" identifier != number_literal) || (binary_expression "DAT_000b6398 != 0" identifier != number_literal))) ))) )) (compound_statement "{\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }" { (labeled_statement "LAB_0002a101:\n                            FUN_00026dc0(0x14,0);" statement_identifier : (expression_statement "FUN_00026dc0(0x14,0);" (call_expression "FUN_00026dc0(0x14,0)" identifier (argument_list "(0x14,0)" ( number_literal , number_literal ))) ;)) (while_statement "while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }" { (expression_statement "uVar8 = dcgettext(0,"version def",5);" (assignment_expression "uVar8 = dcgettext(0,"version def",5)" identifier = (call_expression "dcgettext(0,"version def",5)" identifier (argument_list "(0,"version def",5)" ( number_literal , (string_literal ""version def"" " string_content ") , number_literal )))) ;) (expression_statement "iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8)" identifier = (call_expression "FUN_0001bf90(0x14,0,1,0,uVar8)" identifier (argument_list "(0x14,0,1,0,uVar8)" ( number_literal , number_literal , number_literal , number_literal , identifier )))) ;) (expression_statement "__s = pcVar22;" (assignment_expression "__s = pcVar22" identifier = identifier) ;) (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = (*DAT_000b9dd8)(local_20,4);" (assignment_expression "iVar21 = (*DAT_000b9dd8)(local_20,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_20,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_20,4)" ( identifier , number_literal )))) ;) (expression_statement "uVar6 = (*DAT_000b9dd8)(local_2c,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)(local_2c,2)" identifier = (call_expression "(*DAT_000b9dd8)(local_2c,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_2c,2)" ( identifier , number_literal )))) ;) (if_statement "if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }" if (parenthesized_expression "((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6)" ( (binary_expression "(*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6" (parenthesized_expression "(*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff)" ( (binary_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff" (pointer_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(ushort *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) & number_literal) )) == identifier) )) (compound_statement "{\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }" { (expression_statement "(*DAT_000b9dd8)(local_24,4);" (call_expression "(*DAT_000b9dd8)(local_24,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_24,4)" ( identifier , number_literal ))) ;) (expression_statement "uVar8 = dcgettext(0,"version def aux",5);" (assignment_expression "uVar8 = dcgettext(0,"version def aux",5)" identifier = (call_expression "dcgettext(0,"version def aux",5)" identifier (argument_list "(0,"version def aux",5)" ( number_literal , (string_literal ""version def aux"" " string_content ") , number_literal )))) ;) (expression_statement "iVar21 = FUN_0001bf90(8,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(8,0,1,0,uVar8)" identifier = (call_expression "FUN_0001bf90(8,0,1,0,uVar8)" identifier (argument_list "(8,0,1,0,uVar8)" ( number_literal , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar21 == 0) goto LAB_0002a235;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0002a235;" goto statement_identifier ;)) (expression_statement "uVar19 = (*DAT_000b9dd8)(local_40,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)(local_40,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_40,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_40,4)" ( identifier , number_literal )))) ;) (expression_statement "__s = pcVar10;" (assignment_expression "__s = pcVar10" identifier = identifier) ;) (if_statement "if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }" if (parenthesized_expression "(*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20)))" ( (binary_expression "*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "*(int *)(iVar1 + 0x24) != 0" (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) != number_literal) || (binary_expression "(uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "(uint)-*(int *)(iVar1 + 0x24)" (parenthesized_expression "(uint)" ( identifier )) - (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))) < (call_expression "(uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < *(uint *)(iVar1 + 0x20))" ( (binary_expression "uVar19 < *(uint *)(iVar1 + 0x20)" identifier < (pointer_expression "*(uint *)(iVar1 + 0x20)" * (cast_expression "(uint *)(iVar1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) ))))) ))))) )) (compound_statement "{\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }" { (if_statement "if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" if (parenthesized_expression "((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22))" ( (binary_expression "(pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)" (parenthesized_expression "(pcVar22 == (char *)0x0)" ( (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar10 == pcVar22)" ( (binary_expression "pcVar10 == pcVar22" identifier == identifier) ))) )) (compound_statement "{\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }" { (expression_statement "__s = (char *)((int)pvVar9 + uVar19);" (assignment_expression "__s = (char *)((int)pvVar9 + uVar19)" identifier = (cast_expression "(char *)((int)pvVar9 + uVar19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar9 + uVar19)" ( (binary_expression "(int)pvVar9 + uVar19" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) (else_clause "else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" else (compound_statement "{\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" { (expression_statement "__s = (char *)dcgettext(0,"*both*",5);" (assignment_expression "__s = (char *)dcgettext(0,"*both*",5)" identifier = (cast_expression "(char *)dcgettext(0,"*both*",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"*both*",5)" identifier (argument_list "(0,"*both*",5)" ( number_literal , (string_literal ""*both*"" " string_content ") , number_literal ))))) ;) }))) })) (break_statement "break;" break ;) })) (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) })) (labeled_statement "LAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" statement_identifier : (if_statement "if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" { (expression_statement "sVar17 = strlen(__s);" (assignment_expression "sVar17 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");" (assignment_expression "iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")")" identifier = (call_expression "printf("(%s%-*s",__s,0xc - sVar17,")")" identifier (argument_list "("(%s%-*s",__s,0xc - sVar17,")")" ( (string_literal ""(%s%-*s"" " string_content ") , identifier , (binary_expression "0xc - sVar17" number_literal - identifier) , (string_literal "")"" " string_content ") )))) ;) (expression_statement "local_8c = local_8c + iVar21;" (assignment_expression "local_8c = local_8c + iVar21" identifier = (binary_expression "local_8c + iVar21" identifier + identifier)) ;) }))) })) }) (else_clause "else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" else (compound_statement "{\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" { (expression_statement "FUN_00026dc0(0x10,0);" (call_expression "FUN_00026dc0(0x10,0)" identifier (argument_list "(0x10,0)" ( number_literal , number_literal ))) ;) (do_statement "do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);" do (compound_statement "{\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          }" { (expression_statement "uVar8 = dcgettext(0,"version need",5);" (assignment_expression "uVar8 = dcgettext(0,"version need",5)" identifier = (call_expression "dcgettext(0,"version need",5)" identifier (argument_list "(0,"version need",5)" ( number_literal , (string_literal ""version need"" " string_content ") , number_literal )))) ;) (expression_statement "iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8)" identifier = (call_expression "FUN_0001bf90(0x10,0,1,0,uVar8)" identifier (argument_list "(0x10,0,1,0,uVar8)" ( number_literal , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }" { (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) == number_literal) )) || (parenthesized_expression "(DAT_000b639c == 0 && DAT_000b6398 == 0)" ( (binary_expression "DAT_000b639c == 0 && DAT_000b6398 == 0" (binary_expression "DAT_000b639c == 0" identifier == number_literal) && (binary_expression "DAT_000b6398 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0002a1e4;" goto statement_identifier ;)) (expression_statement "pcVar22 = (char *)0x0;" (assignment_expression "pcVar22 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) (expression_statement "(*DAT_000b9dd8)(local_38,4);" (call_expression "(*DAT_000b9dd8)(local_38,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_38,4)" ( identifier , number_literal ))) ;) (expression_statement "iVar21 = (*DAT_000b9dd8)(local_34,4);" (assignment_expression "iVar21 = (*DAT_000b9dd8)(local_34,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_34,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_34,4)" ( identifier , number_literal )))) ;) (do_statement "do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);" do (compound_statement "{\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            }" { (expression_statement "uVar8 = dcgettext(0,"version need aux (2)",5);" (assignment_expression "uVar8 = dcgettext(0,"version need aux (2)",5)" identifier = (call_expression "dcgettext(0,"version need aux (2)",5)" identifier (argument_list "(0,"version need aux (2)",5)" ( number_literal , (string_literal ""version need aux (2)"" " string_content ") , number_literal )))) ;) (expression_statement "iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);" (assignment_expression "iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8)" identifier = (call_expression "FUN_0001bf90(0x10,0,1,0,uVar8)" identifier (argument_list "(0x10,0,1,0,uVar8)" ( number_literal , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }" { (if_statement "if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }" if (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == 0)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == 0" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) == number_literal) )) (compound_statement "{\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }" { (labeled_statement "LAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);" statement_identifier : (expression_statement "uVar19 = (*DAT_000b9dd8)(local_28,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)(local_28,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_28,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_28,4)" ( identifier , number_literal )))) ;)) (expression_statement "pcVar22 = pcVar10;" (assignment_expression "pcVar22 = pcVar10" identifier = identifier) ;) (if_statement "if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }" if (parenthesized_expression "(*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20)))" ( (binary_expression "*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "*(int *)(iVar1 + 0x24) != 0" (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) != number_literal) || (binary_expression "(uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "(uint)-*(int *)(iVar1 + 0x24)" (parenthesized_expression "(uint)" ( identifier )) - (pointer_expression "*(int *)(iVar1 + 0x24)" * (cast_expression "(int *)(iVar1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) ))))) < (call_expression "(uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < *(uint *)(iVar1 + 0x20))" ( (binary_expression "uVar19 < *(uint *)(iVar1 + 0x20)" identifier < (pointer_expression "*(uint *)(iVar1 + 0x20)" * (cast_expression "(uint *)(iVar1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) ))))) ))))) )) (compound_statement "{\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }" { (expression_statement "pcVar22 = (char *)((int)pvVar9 + uVar19);" (assignment_expression "pcVar22 = (char *)((int)pvVar9 + uVar19)" identifier = (cast_expression "(char *)((int)pvVar9 + uVar19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar9 + uVar19)" ( (binary_expression "(int)pvVar9 + uVar19" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "__s = pcVar22;" (assignment_expression "__s = pcVar22" identifier = identifier) ;) (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) == number_literal) )) || (parenthesized_expression "(DAT_000b639c == 0 && DAT_000b6398 == 0)" ( (binary_expression "DAT_000b639c == 0 && DAT_000b6398 == 0" (binary_expression "DAT_000b639c == 0" identifier == number_literal) && (binary_expression "DAT_000b6398 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0002a1b1;" goto statement_identifier ;)) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "iVar18 = (*DAT_000b9dd8)(local_24,4);" (assignment_expression "iVar18 = (*DAT_000b9dd8)(local_24,4)" identifier = (call_expression "(*DAT_000b9dd8)(local_24,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_24,4)" ( identifier , number_literal )))) ;) (expression_statement "sVar7 = (*DAT_000b9dd8)(local_2a,2);" (assignment_expression "sVar7 = (*DAT_000b9dd8)(local_2a,2)" identifier = (call_expression "(*DAT_000b9dd8)(local_2a,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(local_2a,2)" ( identifier , number_literal )))) ;) (if_statement "if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;" if (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) == identifier) )) (goto_statement "goto LAB_0002a449;" goto statement_identifier ;)) }) while (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) ;) }) while (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) ;) (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }" if (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0))" ( (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff)" ( (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" * (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" ( (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar20 * 2" identifier * number_literal)) )))) != number_literal) )) && (parenthesized_expression "(DAT_000b639c != 0 || DAT_000b6398 != 0)" ( (binary_expression "DAT_000b639c != 0 || DAT_000b6398 != 0" (binary_expression "DAT_000b639c != 0" identifier != number_literal) || (binary_expression "DAT_000b6398 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }" { (expression_statement "pcVar22 = (char *)0x0;" (assignment_expression "pcVar22 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0002a101;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" statement_identifier : (if_statement "if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" if (parenthesized_expression "((int)local_8c < 0x12)" ( (binary_expression "(int)local_8c < 0x12" (cast_expression "(int)local_8c" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" { (expression_statement "printf("%*c",0x12 - local_8c,0x20);" (call_expression "printf("%*c",0x12 - local_8c,0x20)" identifier (argument_list "("%*c",0x12 - local_8c,0x20)" ( (string_literal ""%*c"" " string_content ") , (binary_expression "0x12 - local_8c" number_literal - identifier) , number_literal ))) ;) }))) }) (else_clause "else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" else (compound_statement "{\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" { (expression_statement "uVar8 = dcgettext(0,"invalid index into symbol array\n",5);" (assignment_expression "uVar8 = dcgettext(0,"invalid index into symbol array\n",5)" identifier = (call_expression "dcgettext(0,"invalid index into symbol array\n",5)" identifier (argument_list "(0,"invalid index into symbol array\n",5)" ( number_literal , (string_literal ""invalid index into symbol array\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) }))) }))) (labeled_statement "LAB_0002a235:\n                    uVar20 = uVar20 + 1;" statement_identifier : (expression_statement "uVar20 = uVar20 + 1;" (assignment_expression "uVar20 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(local_a4 != uVar20)" ( (binary_expression "local_a4 != uVar20" identifier != identifier) )) ;) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" identifier (argument_list "(10,*(FILE **)puVar4)" ( number_literal , (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "bVar2 = local_a4 < uVar23;" (assignment_expression "bVar2 = local_a4 < uVar23" identifier = (binary_expression "local_a4 < uVar23" identifier < identifier)) ;) (expression_statement "local_a4 = local_a4 + 4;" (assignment_expression "local_a4 = local_a4 + 4" identifier = (binary_expression "local_a4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar2)" ( identifier )) ;) }))) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" identifier (argument_list "(__ptr_00)" ( identifier ))) ;) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" identifier (argument_list "(pvVar9)" ( identifier ))) ;) })) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" else (if_statement "if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" if (parenthesized_expression "(iVar1 == 0x6ffffffd)" ( (binary_expression "iVar1 == 0x6ffffffd" identifier == number_literal) )) (compound_statement "{\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" { (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" * (cast_expression "(undefined4 *)(local_98 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" identifier = (cast_expression "(char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" identifier (argument_list "(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" ( number_literal , (string_literal ""\nVersion definition section \'%s\' contains %u entry:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (string_literal ""\nVersion definition section \'%s\' contains %u entries:\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" * (cast_expression "(undefined4 *)(local_98 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) )))) , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12,uVar8);" (call_expression "printf(pcVar10,uVar12,uVar8)" identifier (argument_list "(pcVar10,uVar12,uVar8)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Addr: 0x",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Addr: 0x",5)" identifier (argument_list "(0,"  Addr: 0x",5)" ( number_literal , (string_literal ""  Addr: 0x"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" identifier (argument_list "(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" ( (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" * (cast_expression "(FILE **)PTR_stdout_000b3fd8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%016llx"" " string_content ") , (pointer_expression "*(undefined4 *)(local_98 + 0x10)" * (cast_expression "(undefined4 *)(local_98 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x10)" ( (binary_expression "local_98 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x14)" * (cast_expression "(undefined4 *)(local_98 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x14)" ( (binary_expression "local_98 + 0x14" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = FUN_00023d10();" (assignment_expression "uVar11 = FUN_00023d10()" identifier = (call_expression "FUN_00023d10()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x28)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x28)" * (cast_expression "(undefined4 *)(local_98 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x28)" ( (binary_expression "local_98 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(local_98 + 0x18)" * (cast_expression "(undefined4 *)(local_98 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x18)" ( (binary_expression "local_98 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" identifier (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" ( number_literal , (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12,uVar8,uVar11);" (call_expression "printf(pcVar10,uVar12,uVar8,uVar11)" identifier (argument_list "(pcVar10,uVar12,uVar8,uVar11)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar8 = dcgettext(0,"version definition section",5);" (assignment_expression "uVar8 = dcgettext(0,"version definition section",5)" identifier = (call_expression "dcgettext(0,"version definition section",5)" identifier (argument_list "(0,"version definition section",5)" ( number_literal , (string_literal ""version definition section"" " string_content ") , number_literal )))) ;) (expression_statement "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);" (assignment_expression "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" identifier = (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" identifier (argument_list "(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" ( number_literal , number_literal , (pointer_expression "*(undefined4 *)(local_98 + 0x20)" * (cast_expression "(undefined4 *)(local_98 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_98 + 0x24)" * (cast_expression "(undefined4 *)(local_98 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x24)" ( (binary_expression "local_98 + 0x24" identifier + number_literal) )))) , identifier ))))) ;) (if_statement "if (local_88 == (void *)0x0) goto LAB_00029604;" if (parenthesized_expression "(local_88 == (void *)0x0)" ( (binary_expression "local_88 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00029604;" goto statement_identifier ;)) (expression_statement "iVar1 = *(int *)(local_98 + 0x20);" (assignment_expression "iVar1 = *(int *)(local_98 + 0x20)" identifier = (pointer_expression "*(int *)(local_98 + 0x20)" * (cast_expression "(int *)(local_98 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x20)" ( (binary_expression "local_98 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = (int)local_88 + iVar1;" (assignment_expression "uVar23 = (int)local_88 + iVar1" identifier = (binary_expression "(int)local_88 + iVar1" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (if_statement "if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }" { (if_statement "if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" if (parenthesized_expression "(uVar23 < (int)local_88 + 0x14U)" ( (binary_expression "uVar23 < (int)local_88 + 0x14U" identifier < (binary_expression "(int)local_88 + 0x14U" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) )) (compound_statement "{\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;" statement_identifier : (if_statement "if (uVar20 <= local_94) goto LAB_00029a35;" if (parenthesized_expression "(uVar20 <= local_94)" ( (binary_expression "uVar20 <= local_94" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;))) }) (else_clause "else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" else (compound_statement "{\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "pvVar9 = local_88;" (assignment_expression "pvVar9 = local_88" identifier = identifier) ;) (do_statement "do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);" do (compound_statement "{\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              }" { (expression_statement "uVar20 = (*DAT_000b9dd8)(pvVar9,2);" (assignment_expression "uVar20 = (*DAT_000b9dd8)(pvVar9,2)" identifier = (call_expression "(*DAT_000b9dd8)(pvVar9,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pvVar9,2)" ( identifier , number_literal )))) ;) (expression_statement "(*DAT_000b9dd8)((int)pvVar9 + 2,2);" (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 2,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 2,2)" ( (binary_expression "(int)pvVar9 + 2" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);" (assignment_expression "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 4,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 4,2)" ( (binary_expression "(int)pvVar9 + 4" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 6,2)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 6,2)" ( (binary_expression "(int)pvVar9 + 6" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "(*DAT_000b9dd8)((int)pvVar9 + 8,4);" (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 8,4)" ( (binary_expression "(int)pvVar9 + 8" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))) ;) (expression_statement "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 0xc,4)" ( (binary_expression "(int)pvVar9 + 0xc" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);" (assignment_expression "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4)" identifier = (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0x10,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "((int)pvVar9 + 0x10,4)" ( (binary_expression "(int)pvVar9 + 0x10" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "uVar8 = FUN_0001fa80();" (assignment_expression "uVar8 = FUN_0001fa80()" identifier = (call_expression "FUN_0001fa80()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" identifier (argument_list "(0,"  %#06lx: Rev: %d  Flags: %s",5)" ( number_literal , (string_literal ""  %#06lx: Rev: %d  Flags: %s"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);" (call_expression "printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8)" identifier (argument_list "(pcVar10,local_9c,uVar20 & 0xffff,uVar8)" ( identifier , identifier , (binary_expression "uVar20 & 0xffff" identifier & number_literal) , identifier ))) ;) (expression_statement "uVar20 = (uint)uVar6;" (assignment_expression "uVar20 = (uint)uVar6" identifier = (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Index: %d  Cnt: %d  ",5)" identifier (argument_list "(0,"  Index: %d  Cnt: %d  ",5)" ( number_literal , (string_literal ""  Index: %d  Cnt: %d  "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar19 & 0xffff,uVar20);" (call_expression "printf(pcVar10,uVar19 & 0xffff,uVar20)" identifier (argument_list "(pcVar10,uVar19 & 0xffff,uVar20)" ( identifier , (binary_expression "uVar19 & 0xffff" identifier & number_literal) , identifier ))) ;) (expression_statement "uVar19 = iVar1 - local_9c;" (assignment_expression "uVar19 = iVar1 - local_9c" identifier = (binary_expression "iVar1 - local_9c" identifier - identifier)) ;) (if_statement "if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }" if (parenthesized_expression "((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U))" ( (binary_expression "(uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)" (parenthesized_expression "(uVar19 < uVar13)" ( (binary_expression "uVar19 < uVar13" identifier < identifier) )) || (parenthesized_expression "(iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)" ( (comma_expression "iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U" (assignment_expression "iVar21 = (int)pvVar9 + uVar13" identifier = (binary_expression "(int)pvVar9 + uVar13" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) , (binary_expression "uVar23 < iVar21 + 8U" identifier < (binary_expression "iVar21 + 8U" identifier + number_literal))) ))) )) (compound_statement "{\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }" { (if_statement "if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;" if (parenthesized_expression "(*(uint *)(local_98 + 0x2c) <= local_94)" ( (binary_expression "*(uint *)(local_98 + 0x2c) <= local_94" (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) )))) <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "uVar15 = (*DAT_000b9dd8)(iVar21,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(iVar21,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21,4)" ( identifier , number_literal )))) ;) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 4,4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" if (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15))" ( (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)" (parenthesized_expression "(DAT_000b7538 == 0)" ( (binary_expression "DAT_000b7538 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000b7534 <= uVar15)" ( (binary_expression "DAT_000b7534 <= uVar15" identifier <= identifier) ))) )) (compound_statement "{\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Name index: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Name index: %ld\n",5)" identifier (argument_list "(0,"Name index: %ld\n",5)" ( number_literal , (string_literal ""Name index: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) }) (else_clause "else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" else (compound_statement "{\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" { (expression_statement "uVar15 = uVar15 + DAT_000b7538;" (assignment_expression "uVar15 = uVar15 + DAT_000b7538" identifier = (binary_expression "uVar15 + DAT_000b7538" identifier + identifier)) ;) (expression_statement "pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Name: %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Name: %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Name: %s\n",5)" identifier (argument_list "(0,"Name: %s\n",5)" ( number_literal , (string_literal ""Name: %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) }))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (expression_statement "printf(pcVar10,uVar15);" (call_expression "printf(pcVar10,uVar15)" identifier (argument_list "(pcVar10,uVar15)" ( identifier , identifier ))) ;) (expression_statement "local_bc = uVar13 + local_9c;" (assignment_expression "local_bc = uVar13 + local_9c" identifier = (binary_expression "uVar13 + local_9c" identifier + identifier)) ;) (if_statement "if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }" if (parenthesized_expression "(1 < uVar6)" ( (binary_expression "1 < uVar6" number_literal < identifier) )) (compound_statement "{\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }" { (do_statement "do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);" do (compound_statement "{\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  }" { (if_statement "if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }" if (parenthesized_expression "(7 < uVar16)" ( (binary_expression "7 < uVar16" number_literal < identifier) )) (compound_statement "{\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }" { (if_statement "if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;" if (parenthesized_expression "(uVar16 <= uVar23 - iVar21)" ( (binary_expression "uVar16 <= uVar23 - iVar21" identifier <= (binary_expression "uVar23 - iVar21" identifier - identifier)) )) (goto_statement "goto LAB_00029912;" goto statement_identifier ;)) (labeled_statement "LAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);" statement_identifier : (expression_statement "pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version def aux past end of section\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version def aux past end of section\n",5)" identifier (argument_list "(0,"  Version def aux past end of section\n",5)" ( number_literal , (string_literal ""  Version def aux past end of section\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (break_statement "break;" break ;) })) (if_statement "if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }" if (parenthesized_expression "((uVar20 - 1 != uVar24) || (uVar16 != 0))" ( (binary_expression "(uVar20 - 1 != uVar24) || (uVar16 != 0)" (parenthesized_expression "(uVar20 - 1 != uVar24)" ( (binary_expression "uVar20 - 1 != uVar24" (binary_expression "uVar20 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "(uVar16 != 0)" ( (binary_expression "uVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }" { (expression_statement "uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5)" identifier = (call_expression "dcgettext(0,"Invalid vda_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vda_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vda_next field of %lx\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8,uVar16);" (call_expression "warn(uVar8,uVar16)" identifier (argument_list "(uVar8,uVar16)" ( identifier , identifier ))) ;) (break_statement "break;" break ;) })) (labeled_statement "LAB_00029912:\n                    iVar21 = iVar21 + uVar16;" statement_identifier : (expression_statement "iVar21 = iVar21 + uVar16;" (assignment_expression "iVar21 = iVar21 + uVar16" identifier = (binary_expression "iVar21 + uVar16" identifier + identifier)) ;)) (expression_statement "local_bc = local_bc + uVar16;" (assignment_expression "local_bc = local_bc + uVar16" identifier = (binary_expression "local_bc + uVar16" identifier + identifier)) ;) (if_statement "if (uVar23 < iVar21 + 8U) goto LAB_0002999f;" if (parenthesized_expression "(uVar23 < iVar21 + 8U)" ( (binary_expression "uVar23 < iVar21 + 8U" identifier < (binary_expression "iVar21 + 8U" identifier + number_literal)) )) (goto_statement "goto LAB_0002999f;" goto statement_identifier ;)) (expression_statement "uVar13 = (*DAT_000b9dd8)(iVar21,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)(iVar21,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21,4)" ( identifier , number_literal )))) ;) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4)" identifier = (call_expression "(*DAT_000b9dd8)(iVar21 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(iVar21 + 4,4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) , number_literal )))) ;) (expression_statement "iVar18 = DAT_000b7538;" (assignment_expression "iVar18 = DAT_000b7538" identifier = identifier) ;) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" if (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13))" ( (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)" (parenthesized_expression "(DAT_000b7538 == 0)" ( (binary_expression "DAT_000b7538 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_000b7534 <= uVar13)" ( (binary_expression "DAT_000b7534 <= uVar13" identifier <= identifier) ))) )) (compound_statement "{\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" identifier (argument_list "(0,"  %#06lx: Parent %d, name index: %ld\n",5)" ( number_literal , (string_literal ""  %#06lx: Parent %d, name index: %ld\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_bc,uVar24,uVar13);" (call_expression "printf(pcVar10,local_bc,uVar24,uVar13)" identifier (argument_list "(pcVar10,local_bc,uVar24,uVar13)" ( identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" else (compound_statement "{\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" identifier (argument_list "(0,"  %#06lx: Parent %d: %s\n",5)" ( number_literal , (string_literal ""  %#06lx: Parent %d: %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);" (call_expression "printf(pcVar10,local_bc,uVar24,uVar13 + iVar18)" identifier (argument_list "(pcVar10,local_bc,uVar24,uVar13 + iVar18)" ( identifier , identifier , identifier , (binary_expression "uVar13 + iVar18" identifier + identifier) ))) ;) }))) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar20 != uVar24)" ( (binary_expression "uVar20 != uVar24" identifier != identifier) )) ;) })) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" identifier = (pointer_expression "*(uint *)(local_98 + 0x2c)" * (cast_expression "(uint *)(local_98 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x2c)" ( (binary_expression "local_98 + 0x2c" identifier + number_literal) ))))) ;) (if_statement "if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;" if (parenthesized_expression "(uVar14 < 0x14)" ( (binary_expression "uVar14 < 0x14" identifier < number_literal) )) (compound_statement "{\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }" { (if_statement "if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }" if (parenthesized_expression "((uVar20 - 1 != local_94) || (uVar14 != 0))" ( (binary_expression "(uVar20 - 1 != local_94) || (uVar14 != 0)" (parenthesized_expression "(uVar20 - 1 != local_94)" ( (binary_expression "uVar20 - 1 != local_94" (binary_expression "uVar20 - 1" identifier - number_literal) != identifier) )) || (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) ))) )) (compound_statement "{\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }" { (expression_statement "uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5)" identifier = (call_expression "dcgettext(0,"Invalid vd_next field of %lx\n",5)" identifier (argument_list "(0,"Invalid vd_next field of %lx\n",5)" ( number_literal , (string_literal ""Invalid vd_next field of %lx\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar8,uVar14);" (call_expression "warn(uVar8,uVar14)" identifier (argument_list "(uVar8,uVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })) }) (else_clause "else if (uVar19 < uVar14) goto LAB_00029a9e;" else (if_statement "if (uVar19 < uVar14) goto LAB_00029a9e;" if (parenthesized_expression "(uVar19 < uVar14)" ( (binary_expression "uVar19 < uVar14" identifier < identifier) )) (goto_statement "goto LAB_00029a9e;" goto statement_identifier ;)))) (expression_statement "local_94 = local_94 + 1;" (assignment_expression "local_94 = local_94 + 1" identifier = (binary_expression "local_94 + 1" identifier + number_literal)) ;) (expression_statement "local_9c = local_9c + uVar14;" (assignment_expression "local_9c = local_9c + uVar14" identifier = (binary_expression "local_9c + uVar14" identifier + identifier)) ;) (if_statement "if (uVar20 <= local_94) goto LAB_00029a35;" if (parenthesized_expression "(uVar20 <= local_94)" ( (binary_expression "uVar20 <= local_94" identifier <= identifier) )) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;)) (expression_statement "pvVar9 = (void *)((int)local_88 + local_9c);" (assignment_expression "pvVar9 = (void *)((int)local_88 + local_9c)" identifier = (cast_expression "(void *)((int)local_88 + local_9c)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_88 + local_9c)" ( (binary_expression "(int)local_88 + local_9c" (cast_expression "(int)local_88" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((int)pvVar9 + 0x14U <= uVar23)" ( (binary_expression "(int)pvVar9 + 0x14U <= uVar23" (binary_expression "(int)pvVar9 + 0x14U" (cast_expression "(int)pvVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) <= identifier) )) ;) }))) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Version definition past end of section\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Version definition past end of section\n",5)" identifier (argument_list "(0,"  Version definition past end of section\n",5)" ( number_literal , (string_literal ""  Version definition past end of section\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) })) (goto_statement "goto LAB_00029a35;" goto statement_identifier ;) })))))) (labeled_statement "LAB_0002929c:\n        local_80 = local_80 + 1;" statement_identifier : (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;)) (expression_statement "local_98 = local_98 + 0x48;" (assignment_expression "local_98 = local_98 + 0x48" identifier = (binary_expression "local_98 + 0x48" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_80 < uVar20)" ( (binary_expression "local_80 < uVar20" identifier < identifier) )) ;) (if_statement "if (bVar2) {\n        return 1;\n      }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n        return 1;\n      }" { (return_statement "return 1;" return number_literal ;) })) })) (expression_statement "pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nNo version information found in this file.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nNo version information found in this file.\n",5)" identifier (argument_list "(0,"\nNo version information found in this file.\n",5)" ( number_literal , (string_literal ""\nNo version information found in this file.\n"" " escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , (string_literal " string_content ") , (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (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 , LIT , (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) )))) , IDENT ))))) ;) (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 = BOOL) ;)) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT & LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (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) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT & LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) != IDENT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < IDENT) )) (break_statement break ;)))) (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 + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) <= IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) != IDENT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) <= IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ( ))))) ;) }) (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)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * 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 , LIT , (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) )))) , 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 = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , (string_literal " string_content ") , (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( 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 ( IDENT , LIT , LIT , LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (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 == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (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 , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression IDENT & LIT) , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) >> LIT) & LIT) )) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , LIT ))) ;)) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) & LIT) )) == IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , IDENT )))) ;) (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 , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) }))) })) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , (binary_expression LIT - IDENT) , (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , LIT ))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression LIT - IDENT) , LIT ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (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 ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 ") , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , (string_literal " string_content ") , (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (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 , LIT , (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) )))) , 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT & LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT & LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) , (binary_expression IDENT < (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) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT - IDENT)) )) (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 " string_content escape_sequence ") , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) != IDENT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (break_statement break ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT + IDENT) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) != IDENT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ))) ;) })) (goto_statement goto statement_identifier ;) })))))) (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 IDENT < IDENT) )) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (return_statement return LIT ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4 __regparm3 FUN_00029230(int param_1)\n\n{\n  int iVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined2 uVar5;\n  ushort uVar6;\n  short sVar7;\n  undefined4 uVar8;\n  void *pvVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  void *__ptr;\n  undefined4 uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  void *__ptr_00;\n  size_t sVar17;\n  int iVar18;\n  uint uVar19;\n  char *__s;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  FILE *__stream;\n  uint uVar23;\n  uint uVar24;\n  uint local_c4;\n  int local_bc;\n  uint local_a4;\n  int local_9c;\n  int local_98;\n  uint local_94;\n  uint local_8c;\n  void *local_88;\n  uint local_80;\n  uint local_44;\n  undefined1 local_40 [8];\n  undefined1 local_38 [4];\n  undefined1 local_34 [8];\n  undefined1 local_2c [2];\n  undefined1 local_2a [2];\n  undefined1 local_28 [4];\n  undefined1 local_24 [4];\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }\n  return 1;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00029230(int param_1)" (identifier "FUN_00029230") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined2 uVar5;\n  ushort uVar6;\n  short sVar7;\n  undefined4 uVar8;\n  void *pvVar9;\n  char *pcVar10;\n  undefined4 uVar11;\n  void *__ptr;\n  undefined4 uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  void *__ptr_00;\n  size_t sVar17;\n  int iVar18;\n  uint uVar19;\n  char *__s;\n  uint uVar20;\n  int iVar21;\n  char *pcVar22;\n  FILE *__stream;\n  uint uVar23;\n  uint uVar24;\n  uint local_c4;\n  int local_bc;\n  uint local_a4;\n  int local_9c;\n  int local_98;\n  uint local_94;\n  uint local_8c;\n  void *local_88;\n  uint local_80;\n  uint local_44;\n  undefined1 local_40 [8];\n  undefined1 local_38 [4];\n  undefined1 local_34 [8];\n  undefined1 local_2c [2];\n  undefined1 local_2a [2];\n  undefined1 local_28 [4];\n  undefined1 local_24 [4];\n  undefined1 local_20 [12];\n  undefined4 uStack_14;\n  \n  puVar3 = PTR_stdout_000b3fd8;\n  uStack_14 = 0x29239;\n  if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }\n  return 1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined2 uVar5;" (type_identifier "undefined2") (identifier "uVar5") (; ";")) (declaration "ushort uVar6;" (type_identifier "ushort") (identifier "uVar6") (; ";")) (declaration "short sVar7;" (sized_type_specifier "short" (short "short")) (identifier "sVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "void *pvVar9;" (primitive_type "void") (pointer_declarator "*pvVar9" (* "*") (identifier "pvVar9")) (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "void *__ptr;" (primitive_type "void") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "void *__ptr_00;" (primitive_type "void") (pointer_declarator "*__ptr_00" (* "*") (identifier "__ptr_00")) (; ";")) (declaration "size_t sVar17;" (primitive_type "size_t") (identifier "sVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "char *pcVar22;" (primitive_type "char") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "FILE *__stream;" (type_identifier "FILE") (pointer_declarator "*__stream" (* "*") (identifier "__stream")) (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "uint local_c4;" (type_identifier "uint") (identifier "local_c4") (; ";")) (declaration "int local_bc;" (primitive_type "int") (identifier "local_bc") (; ";")) (declaration "uint local_a4;" (type_identifier "uint") (identifier "local_a4") (; ";")) (declaration "int local_9c;" (primitive_type "int") (identifier "local_9c") (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "uint local_94;" (type_identifier "uint") (identifier "local_94") (; ";")) (declaration "uint local_8c;" (type_identifier "uint") (identifier "local_8c") (; ";")) (declaration "void *local_88;" (primitive_type "void") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "uint local_80;" (type_identifier "uint") (identifier "local_80") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "undefined1 local_40 [8];" (type_identifier "undefined1") (array_declarator "local_40 [8]" (identifier "local_40") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 local_38 [4];" (type_identifier "undefined1") (array_declarator "local_38 [4]" (identifier "local_38") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_34 [8];" (type_identifier "undefined1") (array_declarator "local_34 [8]" (identifier "local_34") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 local_2c [2];" (type_identifier "undefined1") (array_declarator "local_2c [2]" (identifier "local_2c") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 local_2a [2];" (type_identifier "undefined1") (array_declarator "local_2a [2]" (identifier "local_2a") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 local_28 [4];" (type_identifier "undefined1") (array_declarator "local_28 [4]" (identifier "local_28") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_24 [4];" (type_identifier "undefined1") (array_declarator "local_24 [4]" (identifier "local_24") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_20 [12];" (type_identifier "undefined1") (array_declarator "local_20 [12]" (identifier "local_20") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "puVar3 = PTR_stdout_000b3fd8;" (assignment_expression "puVar3 = PTR_stdout_000b3fd8" (identifier "puVar3") (= "=") (identifier "PTR_stdout_000b3fd8")) (; ";")) (expression_statement "uStack_14 = 0x29239;" (assignment_expression "uStack_14 = 0x29239" (identifier "uStack_14") (= "=") (number_literal "0x29239")) (; ";")) (if_statement "if (DAT_000b633c != 0) {\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }" (if "if") (parenthesized_expression "(DAT_000b633c != 0)" (( "(") (binary_expression "DAT_000b633c != 0" (identifier "DAT_000b633c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_98 = *(int *)(param_1 + 0x5c);\n    bVar2 = false;\n    uVar20 = *(uint *)(param_1 + 0x54);\n    local_80 = 0;\n    if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }\n    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);\n    printf(pcVar10);\n  }" ({ "{") (expression_statement "local_98 = *(int *)(param_1 + 0x5c);" (assignment_expression "local_98 = *(int *)(param_1 + 0x5c)" (identifier "local_98") (= "=") (pointer_expression "*(int *)(param_1 + 0x5c)" (* "*") (cast_expression "(int *)(param_1 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(param_1 + 0x54)" (* "*") (cast_expression "(uint *)(param_1 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar20 != 0) {\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }" (if "if") (parenthesized_expression "(uVar20 != 0)" (( "(") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);\n      if (bVar2) {\n        return 1;\n      }\n    }" ({ "{") (do_statement "do {\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      } while (local_80 < uVar20);" (do "do") (compound_statement "{\n        iVar1 = *(int *)(local_98 + 4);\n        if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }\nLAB_0002929c:\n        local_80 = local_80 + 1;\n        local_98 = local_98 + 0x48;\n      }" ({ "{") (expression_statement "iVar1 = *(int *)(local_98 + 4);" (assignment_expression "iVar1 = *(int *)(local_98 + 4)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(local_98 + 4)" (* "*") (cast_expression "(int *)(local_98 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 4)" (( "(") (binary_expression "local_98 + 4" (identifier "local_98") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (iVar1 == 0x6ffffffe) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }\n        else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0x6ffffffe)" (( "(") (binary_expression "iVar1 == 0x6ffffffe" (identifier "iVar1") (== "==") (number_literal "0x6ffffffe")) () ")")) (compound_statement "{\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"Version Needs section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n        }" ({ "{") (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x2c)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" (identifier "uVar12") (= "=") (call_expression "FUN_00022190()" (identifier "FUN_00022190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" (identifier "dcngettext") (argument_list "(0,"\nVersion needs section \'%s\' contains %u entry:\n",\n                                       "\nVersion needs section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nVersion needs section \'%s\' contains %u entry:\n"" (" """) (escape_sequence "\n") (string_content "Version needs section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " contains %u entry:") (escape_sequence "\n") (" """)) (, ",") (string_literal ""\nVersion needs section \'%s\' contains %u entries:\n"" (" """) (escape_sequence "\n") (string_content "Version needs section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " contains %u entries:") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")")))) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar12,uVar8);" (call_expression "printf(pcVar10,uVar12,uVar8)" (identifier "printf") (argument_list "(pcVar10,uVar12,uVar8)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar12") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0," Addr: 0x",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," Addr: 0x",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0," Addr: 0x",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," Addr: 0x",5)" (identifier "dcgettext") (argument_list "(0," Addr: 0x",5)" (( "(") (number_literal "0") (, ",") (string_literal "" Addr: 0x"" (" """) (string_content " Addr: 0x") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (expression_statement "fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" (identifier "fprintf") (argument_list "(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" (( "(") (pointer_expression "*(FILE **)puVar3" (* "*") (cast_expression "(FILE **)puVar3" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar3"))) (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x10)" (( "(") (binary_expression "local_98 + 0x10" (identifier "local_98") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x14)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x14)" (( "(") (binary_expression "local_98 + 0x14" (identifier "local_98") (+ "+") (number_literal "0x14")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar11 = FUN_00023d10();" (assignment_expression "uVar11 = FUN_00023d10()" (identifier "uVar11") (= "=") (call_expression "FUN_00023d10()" (identifier "FUN_00023d10") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x28)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x28)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x28)" (( "(") (binary_expression "local_98 + 0x28" (identifier "local_98") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x18)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x18)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x18)" (( "(") (binary_expression "local_98 + 0x18" (identifier "local_98") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" (" """) (string_content "  Offset: %#08lx  Link: %u (%s)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar12,uVar8,uVar11);" (call_expression "printf(pcVar10,uVar12,uVar8,uVar11)" (identifier "printf") (argument_list "(pcVar10,uVar12,uVar8,uVar11)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar12") (, ",") (identifier "uVar8") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "uVar8 = dcgettext(0,"Version Needs section",5);" (assignment_expression "uVar8 = dcgettext(0,"Version Needs section",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Version Needs section",5)" (identifier "dcgettext") (argument_list "(0,"Version Needs section",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Version Needs section"" (" """) (string_content "Version Needs section") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);" (assignment_expression "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" (identifier "local_88") (= "=") (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" (identifier "FUN_0001bf90") (argument_list "(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" (( "(") (number_literal "1") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x20)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x20)" (( "(") (binary_expression "local_98 + 0x20" (identifier "local_98") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x24)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x24)" (( "(") (binary_expression "local_98 + 0x24" (identifier "local_98") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "uVar8") () ")"))))) (; ";")) (if_statement "if (local_88 == (void *)0x0) {\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }\n          else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" (if "if") (parenthesized_expression "(local_88 == (void *)0x0)" (( "(") (binary_expression "local_88 == (void *)0x0" (identifier "local_88") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00029604:\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" ({ "{") (labeled_statement "LAB_00029604:\n            bVar2 = true;" (statement_identifier "LAB_00029604") (: ":") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";"))) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(param_1 + 0x54)" (* "*") (cast_expression "(uint *)(param_1 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" (else "else") (compound_statement "{\n            iVar1 = *(int *)(local_98 + 0x20);\n            uVar20 = *(uint *)(local_98 + 0x2c);\n            uVar23 = (int)local_88 + iVar1;\n            if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }\nLAB_00029a35:\n            free(local_88);\n            bVar2 = true;\n            uVar20 = *(uint *)(param_1 + 0x54);\n          }" ({ "{") (expression_statement "iVar1 = *(int *)(local_98 + 0x20);" (assignment_expression "iVar1 = *(int *)(local_98 + 0x20)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(local_98 + 0x20)" (* "*") (cast_expression "(int *)(local_98 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x20)" (( "(") (binary_expression "local_98 + 0x20" (identifier "local_98") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(local_98 + 0x2c)" (* "*") (cast_expression "(uint *)(local_98 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar23 = (int)local_88 + iVar1;" (assignment_expression "uVar23 = (int)local_88 + iVar1" (identifier "uVar23") (= "=") (binary_expression "(int)local_88 + iVar1" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (identifier "iVar1"))) (; ";")) (if_statement "if (uVar20 != 0) {\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }" (if "if") (parenthesized_expression "(uVar20 != 0)" (( "(") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_8c = 0;\n              if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }\n              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);\n              warn(uVar8);\n            }" ({ "{") (expression_statement "local_8c = 0;" (assignment_expression "local_8c = 0" (identifier "local_8c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar23 < (int)local_88 + 0x10U) {\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }\n              else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" (if "if") (parenthesized_expression "(uVar23 < (int)local_88 + 0x10U)" (( "(") (binary_expression "uVar23 < (int)local_88 + 0x10U" (identifier "uVar23") (< "<") (binary_expression "(int)local_88 + 0x10U" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (number_literal "0x10U"))) () ")")) (compound_statement "{\nLAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;\n              }" ({ "{") (labeled_statement "LAB_00029ea6:\n                if (uVar20 <= local_8c) goto LAB_00029a35;" (statement_identifier "LAB_00029ea6") (: ":") (if_statement "if (uVar20 <= local_8c) goto LAB_00029a35;" (if "if") (parenthesized_expression "(uVar20 <= local_8c)" (( "(") (binary_expression "uVar20 <= local_8c" (identifier "uVar20") (<= "<=") (identifier "local_8c")) () ")")) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";")))) (} "}")) (else_clause "else {\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" (else "else") (compound_statement "{\n                local_94 = 0;\n                pvVar9 = local_88;\n                do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);\n              }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "pvVar9 = local_88;" (assignment_expression "pvVar9 = local_88" (identifier "pvVar9") (= "=") (identifier "local_88")) (; ";")) (do_statement "do {\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                } while ((int)pvVar9 + 0x10U <= uVar23);" (do "do") (compound_statement "{\n                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);\n                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);\n                  printf(pcVar10,local_94,uVar20 & 0xffff);\n                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }\n                  uVar20 = (uint)uVar6;\n                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);\n                  printf(pcVar10,uVar20);\n                  uVar19 = iVar1 - local_94;\n                  if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }\n                  iVar21 = (int)pvVar9 + uVar13;\n                  local_bc = uVar13 + local_94;\n                  if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }\nLAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);\n                  if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;\n                  local_8c = local_8c + 1;\n                  local_94 = local_94 + uVar14;\n                  if (uVar20 <= local_8c) goto LAB_00029a35;\n                  pvVar9 = (void *)((int)local_88 + local_94);\n                }" ({ "{") (expression_statement "uVar20 = (*DAT_000b9dd8)(pvVar9,2);" (assignment_expression "uVar20 = (*DAT_000b9dd8)(pvVar9,2)" (identifier "uVar20") (= "=") (call_expression "(*DAT_000b9dd8)(pvVar9,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pvVar9,2)" (( "(") (identifier "pvVar9") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2)" (identifier "uVar6") (= "=") (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 2,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 2,2)" (( "(") (binary_expression "(int)pvVar9 + 2" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "2")) (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4)" (identifier "uVar19") (= "=") (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 4,4)" (( "(") (binary_expression "(int)pvVar9 + 4" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "4")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4)" (identifier "uVar13") (= "=") (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 8,4)" (( "(") (binary_expression "(int)pvVar9 + 8" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "8")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);" (assignment_expression "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" (identifier "uVar14") (= "=") (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 0xc,4)" (( "(") (binary_expression "(int)pvVar9 + 0xc" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "0xc")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  %#06lx: Version: %d",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  %#06lx: Version: %d",5)" (identifier "dcgettext") (argument_list "(0,"  %#06lx: Version: %d",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  %#06lx: Version: %d"" (" """) (string_content "  %#06lx: Version: %d") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,local_94,uVar20 & 0xffff);" (call_expression "printf(pcVar10,local_94,uVar20 & 0xffff)" (identifier "printf") (argument_list "(pcVar10,local_94,uVar20 & 0xffff)" (( "(") (identifier "pcVar10") (, ",") (identifier "local_94") (, ",") (binary_expression "uVar20 & 0xffff" (identifier "uVar20") (& "&") (number_literal "0xffff")) () ")"))) (; ";")) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }\n                  else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" (if "if") (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19))" (( "(") (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)" (parenthesized_expression "(DAT_000b7538 == 0)" (( "(") (binary_expression "DAT_000b7538 == 0" (identifier "DAT_000b7538") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_000b7534 <= uVar19)" (( "(") (binary_expression "DAT_000b7534 <= uVar19" (identifier "DAT_000b7534") (<= "<=") (identifier "uVar19")) () ")"))) () ")")) (compound_statement "{\n                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);\n                    printf(pcVar10,uVar19);\n                  }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"  File: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  File: %lx",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  File: %lx",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  File: %lx",5)" (identifier "dcgettext") (argument_list "(0,"  File: %lx",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  File: %lx"" (" """) (string_content "  File: %lx") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar19);" (call_expression "printf(pcVar10,uVar19)" (identifier "printf") (argument_list "(pcVar10,uVar19)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar19") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" (else "else") (compound_statement "{\n                    iVar21 = uVar19 + DAT_000b7538;\n                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);\n                    printf(pcVar10,iVar21);\n                  }" ({ "{") (expression_statement "iVar21 = uVar19 + DAT_000b7538;" (assignment_expression "iVar21 = uVar19 + DAT_000b7538" (identifier "iVar21") (= "=") (binary_expression "uVar19 + DAT_000b7538" (identifier "uVar19") (+ "+") (identifier "DAT_000b7538"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  File: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  File: %s",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  File: %s",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  File: %s",5)" (identifier "dcgettext") (argument_list "(0,"  File: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  File: %s"" (" """) (string_content "  File: %s") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,iVar21);" (call_expression "printf(pcVar10,iVar21)" (identifier "printf") (argument_list "(pcVar10,iVar21)" (( "(") (identifier "pcVar10") (, ",") (identifier "iVar21") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar20 = (uint)uVar6;" (assignment_expression "uVar20 = (uint)uVar6" (identifier "uVar20") (= "=") (cast_expression "(uint)uVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar6"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Cnt: %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Cnt: %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Cnt: %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Cnt: %d\n"" (" """) (string_content "  Cnt: %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar20);" (call_expression "printf(pcVar10,uVar20)" (identifier "printf") (argument_list "(pcVar10,uVar20)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar20") () ")"))) (; ";")) (expression_statement "uVar19 = iVar1 - local_94;" (assignment_expression "uVar19 = iVar1 - local_94" (identifier "uVar19") (= "=") (binary_expression "iVar1 - local_94" (identifier "iVar1") (- "-") (identifier "local_94"))) (; ";")) (if_statement "if (uVar19 < uVar13) {\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }" (if "if") (parenthesized_expression "(uVar19 < uVar13)" (( "(") (binary_expression "uVar19 < uVar13" (identifier "uVar19") (< "<") (identifier "uVar13")) () ")")) (compound_statement "{\n                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;\n                    break;\n                  }" ({ "{") (if_statement "if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;" (if "if") (parenthesized_expression "(*(uint *)(local_98 + 0x2c) <= local_8c)" (( "(") (binary_expression "*(uint *)(local_98 + 0x2c) <= local_8c" (pointer_expression "*(uint *)(local_98 + 0x2c)" (* "*") (cast_expression "(uint *)(local_98 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")")))) (<= "<=") (identifier "local_8c")) () ")")) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar21 = (int)pvVar9 + uVar13;" (assignment_expression "iVar21 = (int)pvVar9 + uVar13" (identifier "iVar21") (= "=") (binary_expression "(int)pvVar9 + uVar13" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (identifier "uVar13"))) (; ";")) (expression_statement "local_bc = uVar13 + local_94;" (assignment_expression "local_bc = uVar13 + local_94" (identifier "local_bc") (= "=") (binary_expression "uVar13 + local_94" (identifier "uVar13") (+ "+") (identifier "local_94"))) (; ";")) (if_statement "if (uVar6 != 0) {\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }\n                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);\n                    warn(uVar8);\n                  }" ({ "{") (if_statement "if (iVar21 + 0x10U <= uVar23) {\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }" (if "if") (parenthesized_expression "(iVar21 + 0x10U <= uVar23)" (( "(") (binary_expression "iVar21 + 0x10U <= uVar23" (binary_expression "iVar21 + 0x10U" (identifier "iVar21") (+ "+") (number_literal "0x10U")) (<= "<=") (identifier "uVar23")) () ")")) (compound_statement "{\n                      local_c4 = 0;\n                      do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);\n                    }" ({ "{") (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" (identifier "local_c4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      } while (iVar21 + 0x10U <= uVar23);" (do "do") (compound_statement "{\n                        (*DAT_000b9dd8)(iVar21,4);\n                        (*DAT_000b9dd8)(iVar21 + 4,2);\n                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);\n                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);\n                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);\n                        iVar18 = DAT_000b7538;\n                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }\n                        uVar8 = FUN_0001fa80();\n                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);\n                        printf(pcVar10,uVar8,uVar13 & 0xffff);\n                        if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;\n                        local_c4 = local_c4 + 1;\n                        iVar21 = iVar21 + uVar16;\n                        local_bc = local_bc + uVar16;\n                        if (uVar20 == local_c4) goto LAB_00029dda;\n                      }" ({ "{") (expression_statement "(*DAT_000b9dd8)(iVar21,4);" (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21,4)" (( "(") (identifier "iVar21") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "(*DAT_000b9dd8)(iVar21 + 4,2);" (call_expression "(*DAT_000b9dd8)(iVar21 + 4,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21 + 4,2)" (( "(") (binary_expression "iVar21 + 4" (identifier "iVar21") (+ "+") (number_literal "4")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);" (assignment_expression "uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2)" (identifier "uVar13") (= "=") (call_expression "(*DAT_000b9dd8)(iVar21 + 6,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21 + 6,2)" (( "(") (binary_expression "iVar21 + 6" (identifier "iVar21") (+ "+") (number_literal "6")) (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4)" (identifier "uVar15") (= "=") (call_expression "(*DAT_000b9dd8)(iVar21 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21 + 8,4)" (( "(") (binary_expression "iVar21 + 8" (identifier "iVar21") (+ "+") (number_literal "8")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4)" (identifier "uVar16") (= "=") (call_expression "(*DAT_000b9dd8)(iVar21 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21 + 0xc,4)" (( "(") (binary_expression "iVar21 + 0xc" (identifier "iVar21") (+ "+") (number_literal "0xc")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "iVar18 = DAT_000b7538;" (assignment_expression "iVar18 = DAT_000b7538" (identifier "iVar18") (= "=") (identifier "DAT_000b7538")) (; ";")) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }\n                        else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" (if "if") (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15))" (( "(") (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)" (parenthesized_expression "(DAT_000b7538 == 0)" (( "(") (binary_expression "DAT_000b7538 == 0" (identifier "DAT_000b7538") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_000b7534 <= uVar15)" (( "(") (binary_expression "DAT_000b7534 <= uVar15" (identifier "DAT_000b7534") (<= "<=") (identifier "uVar15")) () ")"))) () ")")) (compound_statement "{\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);\n                          printf(pcVar10,local_bc,uVar15);\n                        }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  %#06lx:   Name index: %lx",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  %#06lx:   Name index: %lx",5)" (identifier "dcgettext") (argument_list "(0,"  %#06lx:   Name index: %lx",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  %#06lx:   Name index: %lx"" (" """) (string_content "  %#06lx:   Name index: %lx") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,local_bc,uVar15);" (call_expression "printf(pcVar10,local_bc,uVar15)" (identifier "printf") (argument_list "(pcVar10,local_bc,uVar15)" (( "(") (identifier "pcVar10") (, ",") (identifier "local_bc") (, ",") (identifier "uVar15") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" (else "else") (compound_statement "{\n                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);\n                          printf(pcVar10,local_bc,iVar18 + uVar15);\n                        }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  %#06lx:   Name: %s",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  %#06lx:   Name: %s",5)" (identifier "dcgettext") (argument_list "(0,"  %#06lx:   Name: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  %#06lx:   Name: %s"" (" """) (string_content "  %#06lx:   Name: %s") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,local_bc,iVar18 + uVar15);" (call_expression "printf(pcVar10,local_bc,iVar18 + uVar15)" (identifier "printf") (argument_list "(pcVar10,local_bc,iVar18 + uVar15)" (( "(") (identifier "pcVar10") (, ",") (identifier "local_bc") (, ",") (binary_expression "iVar18 + uVar15" (identifier "iVar18") (+ "+") (identifier "uVar15")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar8 = FUN_0001fa80();" (assignment_expression "uVar8 = FUN_0001fa80()" (identifier "uVar8") (= "=") (call_expression "FUN_0001fa80()" (identifier "FUN_0001fa80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Flags: %s  Version: %d\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Flags: %s  Version: %d\n",5)" (identifier "dcgettext") (argument_list "(0,"  Flags: %s  Version: %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Flags: %s  Version: %d\n"" (" """) (string_content "  Flags: %s  Version: %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar8,uVar13 & 0xffff);" (call_expression "printf(pcVar10,uVar8,uVar13 & 0xffff)" (identifier "printf") (argument_list "(pcVar10,uVar8,uVar13 & 0xffff)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar8") (, ",") (binary_expression "uVar13 & 0xffff" (identifier "uVar13") (& "&") (number_literal "0xffff")) () ")"))) (; ";")) (if_statement "if (uVar16 < 0x10) {\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }\n                        else if (uVar23 - iVar21 < uVar16) break;" (if "if") (parenthesized_expression "(uVar16 < 0x10)" (( "(") (binary_expression "uVar16 < 0x10" (identifier "uVar16") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }\n                        }" ({ "{") (if_statement "if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }" (if "if") (parenthesized_expression "((uVar20 - 1 != local_c4) || (uVar16 != 0))" (( "(") (binary_expression "(uVar20 - 1 != local_c4) || (uVar16 != 0)" (parenthesized_expression "(uVar20 - 1 != local_c4)" (( "(") (binary_expression "uVar20 - 1 != local_c4" (binary_expression "uVar20 - 1" (identifier "uVar20") (- "-") (number_literal "1")) (!= "!=") (identifier "local_c4")) () ")")) (|| "||") (parenthesized_expression "(uVar16 != 0)" (( "(") (binary_expression "uVar16 != 0" (identifier "uVar16") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);\n                            warn(uVar8,uVar16);\n                            goto LAB_00029dda;\n                          }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Invalid vna_next field of %lx\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid vna_next field of %lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid vna_next field of %lx\n"" (" """) (string_content "Invalid vna_next field of %lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar8,uVar16);" (call_expression "warn(uVar8,uVar16)" (identifier "warn") (argument_list "(uVar8,uVar16)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar16") () ")"))) (; ";")) (goto_statement "goto LAB_00029dda;" (goto "goto") (statement_identifier "LAB_00029dda") (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar23 - iVar21 < uVar16) break;" (else "else") (if_statement "if (uVar23 - iVar21 < uVar16) break;" (if "if") (parenthesized_expression "(uVar23 - iVar21 < uVar16)" (( "(") (binary_expression "uVar23 - iVar21 < uVar16" (binary_expression "uVar23 - iVar21" (identifier "uVar23") (- "-") (identifier "iVar21")) (< "<") (identifier "uVar16")) () ")")) (break_statement "break;" (break "break") (; ";"))))) (expression_statement "local_c4 = local_c4 + 1;" (assignment_expression "local_c4 = local_c4 + 1" (identifier "local_c4") (= "=") (binary_expression "local_c4 + 1" (identifier "local_c4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar21 = iVar21 + uVar16;" (assignment_expression "iVar21 = iVar21 + uVar16" (identifier "iVar21") (= "=") (binary_expression "iVar21 + uVar16" (identifier "iVar21") (+ "+") (identifier "uVar16"))) (; ";")) (expression_statement "local_bc = local_bc + uVar16;" (assignment_expression "local_bc = local_bc + uVar16" (identifier "local_bc") (= "=") (binary_expression "local_bc + uVar16" (identifier "local_bc") (+ "+") (identifier "uVar16"))) (; ";")) (if_statement "if (uVar20 == local_c4) goto LAB_00029dda;" (if "if") (parenthesized_expression "(uVar20 == local_c4)" (( "(") (binary_expression "uVar20 == local_c4" (identifier "uVar20") (== "==") (identifier "local_c4")) () ")")) (goto_statement "goto LAB_00029dda;" (goto "goto") (statement_identifier "LAB_00029dda") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar21 + 0x10U <= uVar23)" (( "(") (binary_expression "iVar21 + 0x10U <= uVar23" (binary_expression "iVar21 + 0x10U" (identifier "iVar21") (+ "+") (number_literal "0x10U")) (<= "<=") (identifier "uVar23")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Missing Version Needs auxillary information\n",5)" (identifier "dcgettext") (argument_list "(0,"Missing Version Needs auxillary information\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Missing Version Needs auxillary information\n"" (" """) (string_content "Missing Version Needs auxillary information") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" (identifier "warn") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00029dda:\n                  uVar20 = *(uint *)(local_98 + 0x2c);" (statement_identifier "LAB_00029dda") (: ":") (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(local_98 + 0x2c)" (* "*") (cast_expression "(uint *)(local_98 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";"))) (if_statement "if (uVar14 < 0x10) {\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }\n                  else if (uVar19 < uVar14) goto LAB_00029ea6;" (if "if") (parenthesized_expression "(uVar14 < 0x10)" (( "(") (binary_expression "uVar14 < 0x10" (identifier "uVar14") (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }\n                  }" ({ "{") (if_statement "if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }" (if "if") (parenthesized_expression "((uVar20 - 1 != local_8c) || (uVar14 != 0))" (( "(") (binary_expression "(uVar20 - 1 != local_8c) || (uVar14 != 0)" (parenthesized_expression "(uVar20 - 1 != local_8c)" (( "(") (binary_expression "uVar20 - 1 != local_8c" (binary_expression "uVar20 - 1" (identifier "uVar20") (- "-") (number_literal "1")) (!= "!=") (identifier "local_8c")) () ")")) (|| "||") (parenthesized_expression "(uVar14 != 0)" (( "(") (binary_expression "uVar14 != 0" (identifier "uVar14") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);\n                      warn(uVar8,uVar14);\n                      goto LAB_00029a35;\n                    }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Invalid vn_next field of %lx\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid vn_next field of %lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid vn_next field of %lx\n"" (" """) (string_content "Invalid vn_next field of %lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar8,uVar14);" (call_expression "warn(uVar8,uVar14)" (identifier "warn") (argument_list "(uVar8,uVar14)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar14") () ")"))) (; ";")) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar19 < uVar14) goto LAB_00029ea6;" (else "else") (if_statement "if (uVar19 < uVar14) goto LAB_00029ea6;" (if "if") (parenthesized_expression "(uVar19 < uVar14)" (( "(") (binary_expression "uVar19 < uVar14" (identifier "uVar19") (< "<") (identifier "uVar14")) () ")")) (goto_statement "goto LAB_00029ea6;" (goto "goto") (statement_identifier "LAB_00029ea6") (; ";"))))) (expression_statement "local_8c = local_8c + 1;" (assignment_expression "local_8c = local_8c + 1" (identifier "local_8c") (= "=") (binary_expression "local_8c + 1" (identifier "local_8c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_94 = local_94 + uVar14;" (assignment_expression "local_94 = local_94 + uVar14" (identifier "local_94") (= "=") (binary_expression "local_94 + uVar14" (identifier "local_94") (+ "+") (identifier "uVar14"))) (; ";")) (if_statement "if (uVar20 <= local_8c) goto LAB_00029a35;" (if "if") (parenthesized_expression "(uVar20 <= local_8c)" (( "(") (binary_expression "uVar20 <= local_8c" (identifier "uVar20") (<= "<=") (identifier "local_8c")) () ")")) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";"))) (expression_statement "pvVar9 = (void *)((int)local_88 + local_94);" (assignment_expression "pvVar9 = (void *)((int)local_88 + local_94)" (identifier "pvVar9") (= "=") (cast_expression "(void *)((int)local_88 + local_94)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_88 + local_94)" (( "(") (binary_expression "(int)local_88 + local_94" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (identifier "local_94")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pvVar9 + 0x10U <= uVar23)" (( "(") (binary_expression "(int)pvVar9 + 0x10U <= uVar23" (binary_expression "(int)pvVar9 + 0x10U" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "0x10U")) (<= "<=") (identifier "uVar23")) () ")")) (; ";")) (} "}")))) (expression_statement "uVar8 = dcgettext(0,"Missing Version Needs information\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Missing Version Needs information\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Missing Version Needs information\n",5)" (identifier "dcgettext") (argument_list "(0,"Missing Version Needs information\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Missing Version Needs information\n"" (" """) (string_content "Missing Version Needs information") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" (identifier "warn") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00029a35:\n            free(local_88);" (statement_identifier "LAB_00029a35") (: ":") (expression_statement "free(local_88);" (call_expression "free(local_88)" (identifier "free") (argument_list "(local_88)" (( "(") (identifier "local_88") () ")"))) (; ";"))) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(param_1 + 0x54)" (* "*") (cast_expression "(uint *)(param_1 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" (else "else") (if_statement "if (iVar1 == 0x6fffffff) {\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }\n        else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0x6fffffff)" (( "(") (binary_expression "iVar1 == 0x6fffffff" (identifier "iVar1") (== "==") (number_literal "0x6fffffff")) () ")")) (compound_statement "{\n          if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }\n        }" ({ "{") (if_statement "if ((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)) {\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }" (if "if") (parenthesized_expression "((*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20))" (( "(") (binary_expression "(*(uint *)(local_98 + 0x28) < uVar20) &&\n             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)" (parenthesized_expression "(*(uint *)(local_98 + 0x28) < uVar20)" (( "(") (binary_expression "*(uint *)(local_98 + 0x28) < uVar20" (pointer_expression "*(uint *)(local_98 + 0x28)" (* "*") (cast_expression "(uint *)(local_98 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x28)" (( "(") (binary_expression "local_98 + 0x28" (identifier "local_98") (+ "+") (number_literal "0x28")) () ")")))) (< "<") (identifier "uVar20")) () ")")) (&& "&&") (parenthesized_expression "(iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20)" (( "(") (comma_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,\n             *(uint *)(iVar1 + 0x28) < uVar20" (assignment_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48" (identifier "iVar1") (= "=") (binary_expression "*(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48" (pointer_expression "*(int *)(param_1 + 0x5c)" (* "*") (cast_expression "(int *)(param_1 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "*(uint *)(local_98 + 0x28) * 0x48" (pointer_expression "*(uint *)(local_98 + 0x28)" (* "*") (cast_expression "(uint *)(local_98 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x28)" (( "(") (binary_expression "local_98 + 0x28" (identifier "local_98") (+ "+") (number_literal "0x28")) () ")")))) (* "*") (number_literal "0x48")))) (, ",") (binary_expression "*(uint *)(iVar1 + 0x28) < uVar20" (pointer_expression "*(uint *)(iVar1 + 0x28)" (* "*") (cast_expression "(uint *)(iVar1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x28)" (( "(") (binary_expression "iVar1 + 0x28" (identifier "iVar1") (+ "+") (number_literal "0x28")) () ")")))) (< "<") (identifier "uVar20"))) () ")"))) () ")")) (compound_statement "{\n            iVar21 = *(int *)(local_98 + 0x24);\n            uVar20 = *(uint *)(local_98 + 0x20);\n            if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }\n            if (local_88 == (void *)0x0) goto LAB_00029604;\n            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;\n            uVar8 = dcgettext(0,"version string table",5);\n            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);\n            if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }\n            goto LAB_00029a35;\n          }" ({ "{") (expression_statement "iVar21 = *(int *)(local_98 + 0x24);" (assignment_expression "iVar21 = *(int *)(local_98 + 0x24)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(local_98 + 0x24)" (* "*") (cast_expression "(int *)(local_98 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x24)" (( "(") (binary_expression "local_98 + 0x24" (identifier "local_98") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uVar20 = *(uint *)(local_98 + 0x20);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x20)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(local_98 + 0x20)" (* "*") (cast_expression "(uint *)(local_98 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x20)" (( "(") (binary_expression "local_98 + 0x20" (identifier "local_98") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (DAT_000b6324 == 0) {\n              local_88 = (void *)FUN_00022830();\n            }\n            else {\n              local_88 = (void *)FUN_000222e0();\n            }" (if "if") (parenthesized_expression "(DAT_000b6324 == 0)" (( "(") (binary_expression "DAT_000b6324 == 0" (identifier "DAT_000b6324") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_88 = (void *)FUN_00022830();\n            }" ({ "{") (expression_statement "local_88 = (void *)FUN_00022830();" (assignment_expression "local_88 = (void *)FUN_00022830()" (identifier "local_88") (= "=") (cast_expression "(void *)FUN_00022830()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00022830()" (identifier "FUN_00022830") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              local_88 = (void *)FUN_000222e0();\n            }" (else "else") (compound_statement "{\n              local_88 = (void *)FUN_000222e0();\n            }" ({ "{") (expression_statement "local_88 = (void *)FUN_000222e0();" (assignment_expression "local_88 = (void *)FUN_000222e0()" (identifier "local_88") (= "=") (cast_expression "(void *)FUN_000222e0()" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000222e0()" (identifier "FUN_000222e0") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (if_statement "if (local_88 == (void *)0x0) goto LAB_00029604;" (if "if") (parenthesized_expression "(local_88 == (void *)0x0)" (( "(") (binary_expression "local_88 == (void *)0x0" (identifier "local_88") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00029604;" (goto "goto") (statement_identifier "LAB_00029604") (; ";"))) (expression_statement "iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;" (assignment_expression "iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48" (identifier "iVar1") (= "=") (binary_expression "*(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48" (pointer_expression "*(int *)(param_1 + 0x5c)" (* "*") (cast_expression "(int *)(param_1 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar1 + 0x28) * 0x48" (pointer_expression "*(int *)(iVar1 + 0x28)" (* "*") (cast_expression "(int *)(iVar1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x28)" (( "(") (binary_expression "iVar1 + 0x28" (identifier "iVar1") (+ "+") (number_literal "0x28")) () ")")))) (* "*") (number_literal "0x48")))) (; ";")) (expression_statement "uVar8 = dcgettext(0,"version string table",5);" (assignment_expression "uVar8 = dcgettext(0,"version string table",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"version string table",5)" (identifier "dcgettext") (argument_list "(0,"version string table",5)" (( "(") (number_literal "0") (, ",") (string_literal ""version string table"" (" """) (string_content "version string table") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8);" (assignment_expression "pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" (identifier "pvVar9") (= "=") (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" (identifier "FUN_0001bf90") (argument_list "(1,0,*(undefined4 *)(iVar1 + 0x20),\n                                          *(undefined4 *)(iVar1 + 0x24),uVar8)" (( "(") (number_literal "1") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(iVar1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "uVar8") () ")"))))) (; ";")) (if_statement "if (pvVar9 != (void *)0x0) {\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }" (if "if") (parenthesized_expression "(pvVar9 != (void *)0x0)" (( "(") (binary_expression "pvVar9 != (void *)0x0" (identifier "pvVar9") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              uVar20 = uVar20 >> 1;\n              uVar23 = uVar20 | iVar21 << 0x1f;\n              uVar8 = FUN_00022190();\n              pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);\n              printf(pcVar10,uVar8,uVar23);\n              pcVar10 = (char *)dcgettext(0," Addr: ",5);\n              printf(pcVar10);\n              puVar4 = PTR_stdout_000b3fd8;\n              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));\n              uVar11 = FUN_00022190();\n              uVar8 = *(undefined4 *)(local_98 + 0x18);\n              uVar12 = *(undefined4 *)(local_98 + 0x28);\n              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n              printf(pcVar10,uVar8,uVar12,uVar11);\n              iVar21 = uVar20 * 2;\n              FUN_00026dc0(iVar21,0);\n              uVar8 = dcgettext(0,"version symbol data",5);\n              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);\n              if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }\n              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);\n              if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }\n              free(__ptr_00);\n              free(pvVar9);\n            }" ({ "{") (expression_statement "uVar20 = uVar20 >> 1;" (assignment_expression "uVar20 = uVar20 >> 1" (identifier "uVar20") (= "=") (binary_expression "uVar20 >> 1" (identifier "uVar20") (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "uVar23 = uVar20 | iVar21 << 0x1f;" (assignment_expression "uVar23 = uVar20 | iVar21 << 0x1f" (identifier "uVar23") (= "=") (binary_expression "uVar20 | iVar21 << 0x1f" (identifier "uVar20") (| "|") (binary_expression "iVar21 << 0x1f" (identifier "iVar21") (<< "<<") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar8 = FUN_00022190();" (assignment_expression "uVar8 = FUN_00022190()" (identifier "uVar8") (= "=") (call_expression "FUN_00022190()" (identifier "FUN_00022190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcngettext(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" (identifier "dcngettext") (argument_list "(0,\n                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",\n                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"\n                                           ,uVar23,5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nVersion symbols section \'%s\' contains %lu entry:\n"" (" """) (escape_sequence "\n") (string_content "Version symbols section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " contains %lu entry:") (escape_sequence "\n") (" """)) (, ",") (string_literal ""\nVersion symbols section \'%s\' contains %lu entries:\n"" (" """) (escape_sequence "\n") (string_content "Version symbols section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " contains %lu entries:") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar23") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar8,uVar23);" (call_expression "printf(pcVar10,uVar8,uVar23)" (identifier "printf") (argument_list "(pcVar10,uVar8,uVar23)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar8") (, ",") (identifier "uVar23") () ")"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0," Addr: ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0," Addr: ",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0," Addr: ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," Addr: ",5)" (identifier "dcgettext") (argument_list "(0," Addr: ",5)" (( "(") (number_literal "0") (, ",") (string_literal "" Addr: "" (" """) (string_content " Addr: ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (expression_statement "puVar4 = PTR_stdout_000b3fd8;" (assignment_expression "puVar4 = PTR_stdout_000b3fd8" (identifier "puVar4") (= "=") (identifier "PTR_stdout_000b3fd8")) (; ";")) (expression_statement "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14))" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                      *(undefined4 *)(local_98 + 0x14))" (( "(") (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" (* "*") (cast_expression "(FILE **)PTR_stdout_000b3fd8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_000b3fd8"))) (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x10)" (( "(") (binary_expression "local_98 + 0x10" (identifier "local_98") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x14)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x14)" (( "(") (binary_expression "local_98 + 0x14" (identifier "local_98") (+ "+") (number_literal "0x14")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar11 = FUN_00022190();" (assignment_expression "uVar11 = FUN_00022190()" (identifier "uVar11") (= "=") (call_expression "FUN_00022190()" (identifier "FUN_00022190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x18)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x18)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x18)" (( "(") (binary_expression "local_98 + 0x18" (identifier "local_98") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x28)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x28)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x28)" (( "(") (binary_expression "local_98 + 0x28" (identifier "local_98") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" (" """) (string_content "  Offset: %#08lx  Link: %u (%s)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar8,uVar12,uVar11);" (call_expression "printf(pcVar10,uVar8,uVar12,uVar11)" (identifier "printf") (argument_list "(pcVar10,uVar8,uVar12,uVar11)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar8") (, ",") (identifier "uVar12") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "iVar21 = uVar20 * 2;" (assignment_expression "iVar21 = uVar20 * 2" (identifier "iVar21") (= "=") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) (; ";")) (expression_statement "FUN_00026dc0(iVar21,0);" (call_expression "FUN_00026dc0(iVar21,0)" (identifier "FUN_00026dc0") (argument_list "(iVar21,0)" (( "(") (identifier "iVar21") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar8 = dcgettext(0,"version symbol data",5);" (assignment_expression "uVar8 = dcgettext(0,"version symbol data",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"version symbol data",5)" (identifier "dcgettext") (argument_list "(0,"version symbol data",5)" (( "(") (number_literal "0") (, ",") (string_literal ""version symbol data"" (" """) (string_content "version symbol data") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "__ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);" (assignment_expression "__ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8)" (identifier "__ptr") (= "=") (cast_expression "(void *)FUN_0001bf90(uVar23,0,2,0,uVar8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001bf90(uVar23,0,2,0,uVar8)" (identifier "FUN_0001bf90") (argument_list "(uVar23,0,2,0,uVar8)" (( "(") (identifier "uVar23") (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (identifier "uVar8") () ")"))))) (; ";")) (if_statement "if (__ptr == (void *)0x0) {\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }" (if "if") (parenthesized_expression "(__ptr == (void *)0x0)" (( "(") (binary_expression "__ptr == (void *)0x0" (identifier "__ptr") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                free(pvVar9);\n                free(local_88);\n                bVar2 = true;\n                uVar20 = *(uint *)(param_1 + 0x54);\n                goto LAB_0002929c;\n              }" ({ "{") (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" (identifier "free") (argument_list "(pvVar9)" (( "(") (identifier "pvVar9") () ")"))) (; ";")) (expression_statement "free(local_88);" (call_expression "free(local_88)" (identifier "free") (argument_list "(local_88)" (( "(") (identifier "local_88") () ")"))) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (expression_statement "uVar20 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar20 = *(uint *)(param_1 + 0x54)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(param_1 + 0x54)" (* "*") (cast_expression "(uint *)(param_1 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (goto_statement "goto LAB_0002929c;" (goto "goto") (statement_identifier "LAB_0002929c") (; ";")) (} "}"))) (expression_statement "__ptr_00 = (void *)FUN_0005dac0(uVar23,2);" (assignment_expression "__ptr_00 = (void *)FUN_0005dac0(uVar23,2)" (identifier "__ptr_00") (= "=") (cast_expression "(void *)FUN_0005dac0(uVar23,2)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005dac0(uVar23,2)" (identifier "FUN_0005dac0") (argument_list "(uVar23,2)" (( "(") (identifier "uVar23") (, ",") (number_literal "2") () ")"))))) (; ";")) (if_statement "if (uVar23 == 0) {\n                free(__ptr);\n              }\n              else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" (if "if") (parenthesized_expression "(uVar23 == 0)" (( "(") (binary_expression "uVar23 == 0" (identifier "uVar23") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                free(__ptr);\n              }" ({ "{") (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" (else "else") (compound_statement "{\n                do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);\n                free(__ptr);\n                local_a4 = 4;\n                do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);\n              }" ({ "{") (do_statement "do {\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                } while (iVar21 != 0);" (do "do") (compound_statement "{\n                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);\n                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;\n                  iVar21 = iVar21 + -2;\n                }" ({ "{") (expression_statement "uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);" (assignment_expression "uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2)" (identifier "uVar5") (= "=") (call_expression "(*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)__ptr + iVar21 + -2,2)" (( "(") (binary_expression "(int)__ptr + iVar21 + -2" (binary_expression "(int)__ptr + iVar21" (cast_expression "(int)__ptr" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr")) (+ "+") (identifier "iVar21")) (+ "+") (number_literal "-2")) (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "*(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;" (assignment_expression "*(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5" (pointer_expression "*(undefined2 *)((int)__ptr_00 + iVar21 + -2)" (* "*") (cast_expression "(undefined2 *)((int)__ptr_00 + iVar21 + -2)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + iVar21 + -2)" (( "(") (binary_expression "(int)__ptr_00 + iVar21 + -2" (binary_expression "(int)__ptr_00 + iVar21" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (identifier "iVar21")) (+ "+") (number_literal "-2")) () ")")))) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "iVar21 = iVar21 + -2;" (assignment_expression "iVar21 = iVar21 + -2" (identifier "iVar21") (= "=") (binary_expression "iVar21 + -2" (identifier "iVar21") (+ "+") (number_literal "-2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "local_a4 = 4;" (assignment_expression "local_a4 = 4" (identifier "local_a4") (= "=") (number_literal "4")) (; ";")) (do_statement "do {\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                } while (bVar2);" (do "do") (compound_statement "{\n                  uVar20 = local_a4 - 4;\n                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);\n                  printf("  %03x:",uVar20);\n                  do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);\n                  putc(10,*(FILE **)puVar4);\n                  bVar2 = local_a4 < uVar23;\n                  local_a4 = local_a4 + 4;\n                }" ({ "{") (expression_statement "uVar20 = local_a4 - 4;" (assignment_expression "uVar20 = local_a4 - 4" (identifier "uVar20") (= "=") (binary_expression "local_a4 - 4" (identifier "local_a4") (- "-") (number_literal "4"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"*invalid*",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"*invalid*",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"*invalid*",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"*invalid*",5)" (identifier "dcgettext") (argument_list "(0,"*invalid*",5)" (( "(") (number_literal "0") (, ",") (string_literal ""*invalid*"" (" """) (string_content "*invalid*") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf("  %03x:",uVar20);" (call_expression "printf("  %03x:",uVar20)" (identifier "printf") (argument_list "("  %03x:",uVar20)" (( "(") (string_literal ""  %03x:"" (" """) (string_content "  %03x:") (" """)) (, ",") (identifier "uVar20") () ")"))) (; ";")) (do_statement "do {\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  } while (local_a4 != uVar20);" (do "do") (compound_statement "{\n                    if (uVar23 <= uVar20) break;\n                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);\n                    if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }\nLAB_0002a235:\n                    uVar20 = uVar20 + 1;\n                  }" ({ "{") (if_statement "if (uVar23 <= uVar20) break;" (if "if") (parenthesized_expression "(uVar23 <= uVar20)" (( "(") (binary_expression "uVar23 <= uVar20" (identifier "uVar23") (<= "<=") (identifier "uVar20")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);" (assignment_expression "uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2)" (identifier "uVar6") (= "=") (pointer_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2)" (* "*") (cast_expression "(ushort *)((int)__ptr_00 + uVar20 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" (( "(") (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) () ")"))))) (; ";")) (if_statement "if (uVar6 == 0) {\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }\n                    else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      __stream = *(FILE **)puVar4;\n                      pcVar22 = "   0 (*local*)    ";\nLAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);\n                      fputs(pcVar22,__stream);\n                    }" ({ "{") (expression_statement "__stream = *(FILE **)puVar4;" (assignment_expression "__stream = *(FILE **)puVar4" (identifier "__stream") (= "=") (pointer_expression "*(FILE **)puVar4" (* "*") (cast_expression "(FILE **)puVar4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "pcVar22 = "   0 (*local*)    ";" (assignment_expression "pcVar22 = "   0 (*local*)    "" (identifier "pcVar22") (= "=") (string_literal ""   0 (*local*)    "" (" """) (string_content "   0 (*local*)    ") (" """))) (; ";")) (labeled_statement "LAB_0002a221:\n                      pcVar22 = (char *)dcgettext(0,pcVar22,5);" (statement_identifier "LAB_0002a221") (: ":") (expression_statement "pcVar22 = (char *)dcgettext(0,pcVar22,5);" (assignment_expression "pcVar22 = (char *)dcgettext(0,pcVar22,5)" (identifier "pcVar22") (= "=") (cast_expression "(char *)dcgettext(0,pcVar22,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar22,5)" (identifier "dcgettext") (argument_list "(0,pcVar22,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar22") (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "fputs(pcVar22,__stream);" (call_expression "fputs(pcVar22,__stream)" (identifier "fputs") (argument_list "(pcVar22,__stream)" (( "(") (identifier "pcVar22") (, ",") (identifier "__stream") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" (else "else") (compound_statement "{\n                      if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }\n                      local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);\n                      if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }\n                    }" ({ "{") (if_statement "if (uVar6 == 1) {\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }" (if "if") (parenthesized_expression "(uVar6 == 1)" (( "(") (binary_expression "uVar6 == 1" (identifier "uVar6") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                        __stream = *(FILE **)puVar4;\n                        pcVar22 = "   1 (*global*)   ";\n                        goto LAB_0002a221;\n                      }" ({ "{") (expression_statement "__stream = *(FILE **)puVar4;" (assignment_expression "__stream = *(FILE **)puVar4" (identifier "__stream") (= "=") (pointer_expression "*(FILE **)puVar4" (* "*") (cast_expression "(FILE **)puVar4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "pcVar22 = "   1 (*global*)   ";" (assignment_expression "pcVar22 = "   1 (*global*)   "" (identifier "pcVar22") (= "=") (string_literal ""   1 (*global*)   "" (" """) (string_content "   1 (*global*)   ") (" """))) (; ";")) (goto_statement "goto LAB_0002a221;" (goto "goto") (statement_identifier "LAB_0002a221") (; ";")) (} "}"))) (expression_statement "local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);" (assignment_expression "local_8c = printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" (identifier "local_8c") (= "=") (call_expression "printf("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" (identifier "printf") (argument_list "("%4x%c",uVar6 & 0x7fff,\n                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20)" (( "(") (string_literal ""%4x%c"" (" """) (string_content "%4x%c") (" """)) (, ",") (binary_expression "uVar6 & 0x7fff" (identifier "uVar6") (& "&") (number_literal "0x7fff")) (, ",") (binary_expression "((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20" (parenthesized_expression "((int)(short)uVar6 >> 0x1f & 0x48U)" (( "(") (binary_expression "(int)(short)uVar6 >> 0x1f & 0x48U" (binary_expression "(int)(short)uVar6 >> 0x1f" (cast_expression "(int)(short)uVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(short)uVar6" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar6"))) (>> ">>") (number_literal "0x1f")) (& "&") (number_literal "0x48U")) () ")")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (uVar20 < local_44) {\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }\n                      else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" (if "if") (parenthesized_expression "(uVar20 < local_44)" (( "(") (binary_expression "uVar20 < local_44" (identifier "uVar20") (< "<") (identifier "local_44")) () ")")) (compound_statement "{\n                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }\nLAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }\n                      }" ({ "{") (if_statement "if (DAT_000b638c == 0 && DAT_000b6388 == 0) {\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }\n                        else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" (if "if") (parenthesized_expression "(DAT_000b638c == 0 && DAT_000b6388 == 0)" (( "(") (binary_expression "DAT_000b638c == 0 && DAT_000b6388 == 0" (binary_expression "DAT_000b638c == 0" (identifier "DAT_000b638c") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_000b6388 == 0" (identifier "DAT_000b6388") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }\n                        }" ({ "{") (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }" (if "if") (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0))" (( "(") (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff)" (( "(") (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" (* "*") (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" (( "(") (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) () ")")))) (!= "!=") (number_literal "-0x7fff")) () ")")) (&& "&&") (parenthesized_expression "(pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)" (( "(") (comma_expression "pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0" (assignment_expression "pcVar22 = (char *)0x0" (identifier "pcVar22") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "DAT_000b639c != 0 || DAT_000b6398 != 0" (binary_expression "DAT_000b639c != 0" (identifier "DAT_000b639c") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_000b6398 != 0" (identifier "DAT_000b6398") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\nLAB_0002a101:\n                            FUN_00026dc0(0x14,0);\n                            while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }\nLAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }\n                          }" ({ "{") (labeled_statement "LAB_0002a101:\n                            FUN_00026dc0(0x14,0);" (statement_identifier "LAB_0002a101") (: ":") (expression_statement "FUN_00026dc0(0x14,0);" (call_expression "FUN_00026dc0(0x14,0)" (identifier "FUN_00026dc0") (argument_list "(0x14,0)" (( "(") (number_literal "0x14") (, ",") (number_literal "0") () ")"))) (; ";"))) (while_statement "while( true ) {\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                              uVar8 = dcgettext(0,"version def",5);\n                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);\n                              __s = pcVar22;\n                              if (iVar21 == 0) break;\n                              iVar21 = (*DAT_000b9dd8)(local_20,4);\n                              uVar6 = (*DAT_000b9dd8)(local_2c,2);\n                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }\n                              if (iVar21 == 0) break;\n                            }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"version def",5);" (assignment_expression "uVar8 = dcgettext(0,"version def",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"version def",5)" (identifier "dcgettext") (argument_list "(0,"version def",5)" (( "(") (number_literal "0") (, ",") (string_literal ""version def"" (" """) (string_content "version def") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8)" (identifier "iVar21") (= "=") (call_expression "FUN_0001bf90(0x14,0,1,0,uVar8)" (identifier "FUN_0001bf90") (argument_list "(0x14,0,1,0,uVar8)" (( "(") (number_literal "0x14") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "__s = pcVar22;" (assignment_expression "__s = pcVar22" (identifier "__s") (= "=") (identifier "pcVar22")) (; ";")) (if_statement "if (iVar21 == 0) break;" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar21 = (*DAT_000b9dd8)(local_20,4);" (assignment_expression "iVar21 = (*DAT_000b9dd8)(local_20,4)" (identifier "iVar21") (= "=") (call_expression "(*DAT_000b9dd8)(local_20,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_20,4)" (( "(") (identifier "local_20") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar6 = (*DAT_000b9dd8)(local_2c,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)(local_2c,2)" (identifier "uVar6") (= "=") (call_expression "(*DAT_000b9dd8)(local_2c,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_2c,2)" (( "(") (identifier "local_2c") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }" (if "if") (parenthesized_expression "((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6)" (( "(") (binary_expression "(*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6" (parenthesized_expression "(*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff)" (( "(") (binary_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff" (pointer_expression "*(ushort *)((int)__ptr_00 + uVar20 * 2)" (* "*") (cast_expression "(ushort *)((int)__ptr_00 + uVar20 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" (( "(") (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "0x7fff")) () ")")) (== "==") (identifier "uVar6")) () ")")) (compound_statement "{\n                                (*DAT_000b9dd8)(local_24,4);\n                                uVar8 = dcgettext(0,"version def aux",5);\n                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);\n                                if (iVar21 == 0) goto LAB_0002a235;\n                                uVar19 = (*DAT_000b9dd8)(local_40,4);\n                                __s = pcVar10;\n                                if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }\n                                break;\n                              }" ({ "{") (expression_statement "(*DAT_000b9dd8)(local_24,4);" (call_expression "(*DAT_000b9dd8)(local_24,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_24,4)" (( "(") (identifier "local_24") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "uVar8 = dcgettext(0,"version def aux",5);" (assignment_expression "uVar8 = dcgettext(0,"version def aux",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"version def aux",5)" (identifier "dcgettext") (argument_list "(0,"version def aux",5)" (( "(") (number_literal "0") (, ",") (string_literal ""version def aux"" (" """) (string_content "version def aux") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar21 = FUN_0001bf90(8,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(8,0,1,0,uVar8)" (identifier "iVar21") (= "=") (call_expression "FUN_0001bf90(8,0,1,0,uVar8)" (identifier "FUN_0001bf90") (argument_list "(8,0,1,0,uVar8)" (( "(") (number_literal "8") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (identifier "uVar8") () ")")))) (; ";")) (if_statement "if (iVar21 == 0) goto LAB_0002a235;" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002a235;" (goto "goto") (statement_identifier "LAB_0002a235") (; ";"))) (expression_statement "uVar19 = (*DAT_000b9dd8)(local_40,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)(local_40,4)" (identifier "uVar19") (= "=") (call_expression "(*DAT_000b9dd8)(local_40,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_40,4)" (( "(") (identifier "local_40") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "__s = pcVar10;" (assignment_expression "__s = pcVar10" (identifier "__s") (= "=") (identifier "pcVar10")) (; ";")) (if_statement "if (*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20)))" (( "(") (binary_expression "*(int *)(iVar1 + 0x24) != 0 ||\n                                    (uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "*(int *)(iVar1 + 0x24) != 0" (pointer_expression "*(int *)(iVar1 + 0x24)" (* "*") (cast_expression "(int *)(iVar1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-*(int *)(iVar1 + 0x24) <\n                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "(uint)-*(int *)(iVar1 + 0x24)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (pointer_expression "*(int *)(iVar1 + 0x24)" (* "*") (cast_expression "(int *)(iVar1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")"))))) (< "<") (call_expression "(uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < *(uint *)(iVar1 + 0x20))" (( "(") (binary_expression "uVar19 < *(uint *)(iVar1 + 0x20)" (identifier "uVar19") (< "<") (pointer_expression "*(uint *)(iVar1 + 0x20)" (* "*") (cast_expression "(uint *)(iVar1 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")"))))) () ")"))))) () ")")) (compound_statement "{\n                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }\n                                }" ({ "{") (if_statement "if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" (if "if") (parenthesized_expression "((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22))" (( "(") (binary_expression "(pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)" (parenthesized_expression "(pcVar22 == (char *)0x0)" (( "(") (binary_expression "pcVar22 == (char *)0x0" (identifier "pcVar22") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pcVar10 == pcVar22)" (( "(") (binary_expression "pcVar10 == pcVar22" (identifier "pcVar10") (== "==") (identifier "pcVar22")) () ")"))) () ")")) (compound_statement "{\n                                    __s = (char *)((int)pvVar9 + uVar19);\n                                  }" ({ "{") (expression_statement "__s = (char *)((int)pvVar9 + uVar19);" (assignment_expression "__s = (char *)((int)pvVar9 + uVar19)" (identifier "__s") (= "=") (cast_expression "(char *)((int)pvVar9 + uVar19)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar9 + uVar19)" (( "(") (binary_expression "(int)pvVar9 + uVar19" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (identifier "uVar19")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" (else "else") (compound_statement "{\n                                    __s = (char *)dcgettext(0,"*both*",5);\n                                  }" ({ "{") (expression_statement "__s = (char *)dcgettext(0,"*both*",5);" (assignment_expression "__s = (char *)dcgettext(0,"*both*",5)" (identifier "__s") (= "=") (cast_expression "(char *)dcgettext(0,"*both*",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"*both*",5)" (identifier "dcgettext") (argument_list "(0,"*both*",5)" (( "(") (number_literal "0") (, ",") (string_literal ""*both*"" (" """) (string_content "*both*") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}")))) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if (iVar21 == 0) break;" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (labeled_statement "LAB_0002a1b1:\n                            if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" (statement_identifier "LAB_0002a1b1") (: ":") (if_statement "if (__s != (char *)0x0) {\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" (if "if") (parenthesized_expression "(__s != (char *)0x0)" (( "(") (binary_expression "__s != (char *)0x0" (identifier "__s") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                              sVar17 = strlen(__s);\n                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");\n                              local_8c = local_8c + iVar21;\n                            }" ({ "{") (expression_statement "sVar17 = strlen(__s);" (assignment_expression "sVar17 = strlen(__s)" (identifier "sVar17") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");" (assignment_expression "iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")")" (identifier "iVar21") (= "=") (call_expression "printf("(%s%-*s",__s,0xc - sVar17,")")" (identifier "printf") (argument_list "("(%s%-*s",__s,0xc - sVar17,")")" (( "(") (string_literal ""(%s%-*s"" (" """) (string_content "(%s%-*s") (" """)) (, ",") (identifier "__s") (, ",") (binary_expression "0xc - sVar17" (number_literal "0xc") (- "-") (identifier "sVar17")) (, ",") (string_literal "")"" (" """) (string_content ")") (" """)) () ")")))) (; ";")) (expression_statement "local_8c = local_8c + iVar21;" (assignment_expression "local_8c = local_8c + iVar21" (identifier "local_8c") (= "=") (binary_expression "local_8c + iVar21" (identifier "local_8c") (+ "+") (identifier "iVar21"))) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" (else "else") (compound_statement "{\n                          FUN_00026dc0(0x10,0);\n                          do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);\n                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }\n                        }" ({ "{") (expression_statement "FUN_00026dc0(0x10,0);" (call_expression "FUN_00026dc0(0x10,0)" (identifier "FUN_00026dc0") (argument_list "(0x10,0)" (( "(") (number_literal "0x10") (, ",") (number_literal "0") () ")"))) (; ";")) (do_statement "do {\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          } while (iVar21 != 0);" (do "do") (compound_statement "{\n                            uVar8 = dcgettext(0,"version need",5);\n                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                            if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }\n                            (*DAT_000b9dd8)(local_38,4);\n                            iVar21 = (*DAT_000b9dd8)(local_34,4);\n                            do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);\n                          }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"version need",5);" (assignment_expression "uVar8 = dcgettext(0,"version need",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"version need",5)" (identifier "dcgettext") (argument_list "(0,"version need",5)" (( "(") (number_literal "0") (, ",") (string_literal ""version need"" (" """) (string_content "version need") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);" (assignment_expression "iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8)" (identifier "iVar21") (= "=") (call_expression "FUN_0001bf90(0x10,0,1,0,uVar8)" (identifier "FUN_0001bf90") (argument_list "(0x10,0,1,0,uVar8)" (( "(") (number_literal "0x10") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (identifier "uVar8") () ")")))) (; ";")) (if_statement "if (iVar21 == 0) {\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;\n                              pcVar22 = (char *)0x0;\n                              goto LAB_0002a101;\n                            }" ({ "{") (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;" (if "if") (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0))" (( "(") (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff)" (( "(") (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" (* "*") (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" (( "(") (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) () ")")))) (== "==") (number_literal "-0x7fff")) () ")")) (|| "||") (parenthesized_expression "(DAT_000b639c == 0 && DAT_000b6398 == 0)" (( "(") (binary_expression "DAT_000b639c == 0 && DAT_000b6398 == 0" (binary_expression "DAT_000b639c == 0" (identifier "DAT_000b639c") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_000b6398 == 0" (identifier "DAT_000b6398") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0002a1e4;" (goto "goto") (statement_identifier "LAB_0002a1e4") (; ";"))) (expression_statement "pcVar22 = (char *)0x0;" (assignment_expression "pcVar22 = (char *)0x0" (identifier "pcVar22") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0002a101;" (goto "goto") (statement_identifier "LAB_0002a101") (; ";")) (} "}"))) (expression_statement "(*DAT_000b9dd8)(local_38,4);" (call_expression "(*DAT_000b9dd8)(local_38,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_38,4)" (( "(") (identifier "local_38") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar21 = (*DAT_000b9dd8)(local_34,4);" (assignment_expression "iVar21 = (*DAT_000b9dd8)(local_34,4)" (identifier "iVar21") (= "=") (call_expression "(*DAT_000b9dd8)(local_34,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_34,4)" (( "(") (identifier "local_34") (, ",") (number_literal "4") () ")")))) (; ";")) (do_statement "do {\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            } while (iVar18 != 0);" (do "do") (compound_statement "{\n                              uVar8 = dcgettext(0,"version need aux (2)",5);\n                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);\n                              if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }\n                              iVar18 = (*DAT_000b9dd8)(local_24,4);\n                              sVar7 = (*DAT_000b9dd8)(local_2a,2);\n                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;\n                            }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"version need aux (2)",5);" (assignment_expression "uVar8 = dcgettext(0,"version need aux (2)",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"version need aux (2)",5)" (identifier "dcgettext") (argument_list "(0,"version need aux (2)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""version need aux (2)"" (" """) (string_content "version need aux (2)") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);" (assignment_expression "iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8)" (identifier "iVar18") (= "=") (call_expression "FUN_0001bf90(0x10,0,1,0,uVar8)" (identifier "FUN_0001bf90") (argument_list "(0x10,0,1,0,uVar8)" (( "(") (number_literal "0x10") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (identifier "uVar8") () ")")))) (; ";")) (if_statement "if (iVar18 == 0) {\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }\n                                break;\n                              }" ({ "{") (if_statement "if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }" (if "if") (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == 0)" (( "(") (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == 0" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" (* "*") (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" (( "(") (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);\n                                  pcVar22 = pcVar10;\n                                  if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }\n                                  __s = pcVar22;\n                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;\n                                  goto LAB_0002a101;\n                                }" ({ "{") (labeled_statement "LAB_0002a449:\n                                  uVar19 = (*DAT_000b9dd8)(local_28,4);" (statement_identifier "LAB_0002a449") (: ":") (expression_statement "uVar19 = (*DAT_000b9dd8)(local_28,4);" (assignment_expression "uVar19 = (*DAT_000b9dd8)(local_28,4)" (identifier "uVar19") (= "=") (call_expression "(*DAT_000b9dd8)(local_28,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_28,4)" (( "(") (identifier "local_28") (, ",") (number_literal "4") () ")")))) (; ";"))) (expression_statement "pcVar22 = pcVar10;" (assignment_expression "pcVar22 = pcVar10" (identifier "pcVar22") (= "=") (identifier "pcVar10")) (; ";")) (if_statement "if (*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20)))" (( "(") (binary_expression "*(int *)(iVar1 + 0x24) != 0 ||\n                                      (uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "*(int *)(iVar1 + 0x24) != 0" (pointer_expression "*(int *)(iVar1 + 0x24)" (* "*") (cast_expression "(int *)(iVar1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-*(int *)(iVar1 + 0x24) <\n                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (binary_expression "(uint)-*(int *)(iVar1 + 0x24)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (pointer_expression "*(int *)(iVar1 + 0x24)" (* "*") (cast_expression "(int *)(iVar1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")"))))) (< "<") (call_expression "(uint)(uVar19 < *(uint *)(iVar1 + 0x20))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar19 < *(uint *)(iVar1 + 0x20))" (( "(") (binary_expression "uVar19 < *(uint *)(iVar1 + 0x20)" (identifier "uVar19") (< "<") (pointer_expression "*(uint *)(iVar1 + 0x20)" (* "*") (cast_expression "(uint *)(iVar1 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")"))))) () ")"))))) () ")")) (compound_statement "{\n                                    pcVar22 = (char *)((int)pvVar9 + uVar19);\n                                  }" ({ "{") (expression_statement "pcVar22 = (char *)((int)pvVar9 + uVar19);" (assignment_expression "pcVar22 = (char *)((int)pvVar9 + uVar19)" (identifier "pcVar22") (= "=") (cast_expression "(char *)((int)pvVar9 + uVar19)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar9 + uVar19)" (( "(") (binary_expression "(int)pvVar9 + uVar19" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (identifier "uVar19")) () ")")))) (; ";")) (} "}"))) (expression_statement "__s = pcVar22;" (assignment_expression "__s = pcVar22" (identifier "__s") (= "=") (identifier "pcVar22")) (; ";")) (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;" (if "if") (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0))" (( "(") (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||\n                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff)" (( "(") (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" (* "*") (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" (( "(") (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) () ")")))) (== "==") (number_literal "-0x7fff")) () ")")) (|| "||") (parenthesized_expression "(DAT_000b639c == 0 && DAT_000b6398 == 0)" (( "(") (binary_expression "DAT_000b639c == 0 && DAT_000b6398 == 0" (binary_expression "DAT_000b639c == 0" (identifier "DAT_000b639c") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_000b6398 == 0" (identifier "DAT_000b6398") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0002a1b1;" (goto "goto") (statement_identifier "LAB_0002a1b1") (; ";"))) (goto_statement "goto LAB_0002a101;" (goto "goto") (statement_identifier "LAB_0002a101") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar18 = (*DAT_000b9dd8)(local_24,4);" (assignment_expression "iVar18 = (*DAT_000b9dd8)(local_24,4)" (identifier "iVar18") (= "=") (call_expression "(*DAT_000b9dd8)(local_24,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_24,4)" (( "(") (identifier "local_24") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "sVar7 = (*DAT_000b9dd8)(local_2a,2);" (assignment_expression "sVar7 = (*DAT_000b9dd8)(local_2a,2)" (identifier "sVar7") (= "=") (call_expression "(*DAT_000b9dd8)(local_2a,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(local_2a,2)" (( "(") (identifier "local_2a") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)\n                              goto LAB_0002a449;" (if "if") (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)" (( "(") (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" (* "*") (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" (( "(") (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) () ")")))) (== "==") (identifier "sVar7")) () ")")) (goto_statement "goto LAB_0002a449;" (goto "goto") (statement_identifier "LAB_0002a449") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }" (if "if") (parenthesized_expression "((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0))" (( "(") (binary_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&\n                             (DAT_000b639c != 0 || DAT_000b6398 != 0)" (parenthesized_expression "(*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff)" (( "(") (binary_expression "*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff" (pointer_expression "*(short *)((int)__ptr_00 + uVar20 * 2)" (* "*") (cast_expression "(short *)((int)__ptr_00 + uVar20 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__ptr_00 + uVar20 * 2)" (( "(") (binary_expression "(int)__ptr_00 + uVar20 * 2" (cast_expression "(int)__ptr_00" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__ptr_00")) (+ "+") (binary_expression "uVar20 * 2" (identifier "uVar20") (* "*") (number_literal "2"))) () ")")))) (!= "!=") (number_literal "-0x7fff")) () ")")) (&& "&&") (parenthesized_expression "(DAT_000b639c != 0 || DAT_000b6398 != 0)" (( "(") (binary_expression "DAT_000b639c != 0 || DAT_000b6398 != 0" (binary_expression "DAT_000b639c != 0" (identifier "DAT_000b639c") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "DAT_000b6398 != 0" (identifier "DAT_000b6398") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                            pcVar22 = (char *)0x0;\n                            goto LAB_0002a101;\n                          }" ({ "{") (expression_statement "pcVar22 = (char *)0x0;" (assignment_expression "pcVar22 = (char *)0x0" (identifier "pcVar22") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0002a101;" (goto "goto") (statement_identifier "LAB_0002a101") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0002a1e4:\n                        if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" (statement_identifier "LAB_0002a1e4") (: ":") (if_statement "if ((int)local_8c < 0x12) {\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" (if "if") (parenthesized_expression "((int)local_8c < 0x12)" (( "(") (binary_expression "(int)local_8c < 0x12" (cast_expression "(int)local_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_8c")) (< "<") (number_literal "0x12")) () ")")) (compound_statement "{\n                          printf("%*c",0x12 - local_8c,0x20);\n                        }" ({ "{") (expression_statement "printf("%*c",0x12 - local_8c,0x20);" (call_expression "printf("%*c",0x12 - local_8c,0x20)" (identifier "printf") (argument_list "("%*c",0x12 - local_8c,0x20)" (( "(") (string_literal ""%*c"" (" """) (string_content "%*c") (" """)) (, ",") (binary_expression "0x12 - local_8c" (number_literal "0x12") (- "-") (identifier "local_8c")) (, ",") (number_literal "0x20") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" (else "else") (compound_statement "{\n                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);\n                        warn(uVar8);\n                      }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"invalid index into symbol array\n",5);" (assignment_expression "uVar8 = dcgettext(0,"invalid index into symbol array\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"invalid index into symbol array\n",5)" (identifier "dcgettext") (argument_list "(0,"invalid index into symbol array\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""invalid index into symbol array\n"" (" """) (string_content "invalid index into symbol array") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar8);" (call_expression "warn(uVar8)" (identifier "warn") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_0002a235:\n                    uVar20 = uVar20 + 1;" (statement_identifier "LAB_0002a235") (: ":") (expression_statement "uVar20 = uVar20 + 1;" (assignment_expression "uVar20 = uVar20 + 1" (identifier "uVar20") (= "=") (binary_expression "uVar20 + 1" (identifier "uVar20") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(local_a4 != uVar20)" (( "(") (binary_expression "local_a4 != uVar20" (identifier "local_a4") (!= "!=") (identifier "uVar20")) () ")")) (; ";")) (expression_statement "putc(10,*(FILE **)puVar4);" (call_expression "putc(10,*(FILE **)puVar4)" (identifier "putc") (argument_list "(10,*(FILE **)puVar4)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar4" (* "*") (cast_expression "(FILE **)puVar4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar4"))) () ")"))) (; ";")) (expression_statement "bVar2 = local_a4 < uVar23;" (assignment_expression "bVar2 = local_a4 < uVar23" (identifier "bVar2") (= "=") (binary_expression "local_a4 < uVar23" (identifier "local_a4") (< "<") (identifier "uVar23"))) (; ";")) (expression_statement "local_a4 = local_a4 + 4;" (assignment_expression "local_a4 = local_a4 + 4" (identifier "local_a4") (= "=") (binary_expression "local_a4 + 4" (identifier "local_a4") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (; ";")) (} "}")))) (expression_statement "free(__ptr_00);" (call_expression "free(__ptr_00)" (identifier "free") (argument_list "(__ptr_00)" (( "(") (identifier "__ptr_00") () ")"))) (; ";")) (expression_statement "free(pvVar9);" (call_expression "free(pvVar9)" (identifier "free") (argument_list "(pvVar9)" (( "(") (identifier "pvVar9") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" (else "else") (if_statement "if (iVar1 == 0x6ffffffd) {\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0x6ffffffd)" (( "(") (binary_expression "iVar1 == 0x6ffffffd" (identifier "iVar1") (== "==") (number_literal "0x6ffffffd")) () ")")) (compound_statement "{\n          uVar8 = *(undefined4 *)(local_98 + 0x2c);\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);\n          printf(pcVar10,uVar12,uVar8);\n          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);\n          printf(pcVar10);\n          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));\n          uVar11 = FUN_00023d10();\n          uVar8 = *(undefined4 *)(local_98 + 0x28);\n          uVar12 = *(undefined4 *)(local_98 + 0x18);\n          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);\n          printf(pcVar10,uVar12,uVar8,uVar11);\n          uVar8 = dcgettext(0,"version definition section",5);\n          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);\n          if (local_88 == (void *)0x0) goto LAB_00029604;\n          iVar1 = *(int *)(local_98 + 0x20);\n          uVar20 = *(uint *)(local_98 + 0x2c);\n          uVar23 = (int)local_88 + iVar1;\n          if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }\n          goto LAB_00029a35;\n        }" ({ "{") (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x2c)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" (identifier "uVar12") (= "=") (call_expression "FUN_00022190()" (identifier "FUN_00022190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5);" (assignment_expression "pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" (identifier "dcngettext") (argument_list "(0,"\nVersion definition section \'%s\' contains %u entry:\n",\n                                       "\nVersion definition section \'%s\' contains %u entries:\n",\n                                       *(undefined4 *)(local_98 + 0x2c),5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nVersion definition section \'%s\' contains %u entry:\n"" (" """) (escape_sequence "\n") (string_content "Version definition section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " contains %u entry:") (escape_sequence "\n") (" """)) (, ",") (string_literal ""\nVersion definition section \'%s\' contains %u entries:\n"" (" """) (escape_sequence "\n") (string_content "Version definition section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " contains %u entries:") (escape_sequence "\n") (" """)) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")")))) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar12,uVar8);" (call_expression "printf(pcVar10,uVar12,uVar8)" (identifier "printf") (argument_list "(pcVar10,uVar12,uVar8)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar12") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Addr: 0x",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Addr: 0x",5)" (identifier "dcgettext") (argument_list "(0,"  Addr: 0x",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Addr: 0x"" (" """) (string_content "  Addr: 0x") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (expression_statement "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14));" (call_expression "fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" (identifier "fprintf") (argument_list "(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),\n                  *(undefined4 *)(local_98 + 0x14))" (( "(") (pointer_expression "*(FILE **)PTR_stdout_000b3fd8" (* "*") (cast_expression "(FILE **)PTR_stdout_000b3fd8" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_000b3fd8"))) (, ",") (string_literal ""%016llx"" (" """) (string_content "%016llx") (" """)) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x10)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x10)" (( "(") (binary_expression "local_98 + 0x10" (identifier "local_98") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x14)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x14)" (( "(") (binary_expression "local_98 + 0x14" (identifier "local_98") (+ "+") (number_literal "0x14")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar11 = FUN_00023d10();" (assignment_expression "uVar11 = FUN_00023d10()" (identifier "uVar11") (= "=") (call_expression "FUN_00023d10()" (identifier "FUN_00023d10") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(local_98 + 0x28);" (assignment_expression "uVar8 = *(undefined4 *)(local_98 + 0x28)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x28)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x28)" (( "(") (binary_expression "local_98 + 0x28" (identifier "local_98") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(local_98 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(local_98 + 0x18)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x18)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x18)" (( "(") (binary_expression "local_98 + 0x18" (identifier "local_98") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (identifier "dcgettext") (argument_list "(0,"  Offset: %#08lx  Link: %u (%s)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Offset: %#08lx  Link: %u (%s)\n"" (" """) (string_content "  Offset: %#08lx  Link: %u (%s)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar12,uVar8,uVar11);" (call_expression "printf(pcVar10,uVar12,uVar8,uVar11)" (identifier "printf") (argument_list "(pcVar10,uVar12,uVar8,uVar11)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar12") (, ",") (identifier "uVar8") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "uVar8 = dcgettext(0,"version definition section",5);" (assignment_expression "uVar8 = dcgettext(0,"version definition section",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"version definition section",5)" (identifier "dcgettext") (argument_list "(0,"version definition section",5)" (( "(") (number_literal "0") (, ",") (string_literal ""version definition section"" (" """) (string_content "version definition section") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8);" (assignment_expression "local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" (identifier "local_88") (= "=") (cast_expression "(void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" (identifier "FUN_0001bf90") (argument_list "(1,0,*(undefined4 *)(local_98 + 0x20),\n                                          *(undefined4 *)(local_98 + 0x24),uVar8)" (( "(") (number_literal "1") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x20)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x20)" (( "(") (binary_expression "local_98 + 0x20" (identifier "local_98") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(local_98 + 0x24)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x24)" (( "(") (binary_expression "local_98 + 0x24" (identifier "local_98") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "uVar8") () ")"))))) (; ";")) (if_statement "if (local_88 == (void *)0x0) goto LAB_00029604;" (if "if") (parenthesized_expression "(local_88 == (void *)0x0)" (( "(") (binary_expression "local_88 == (void *)0x0" (identifier "local_88") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00029604;" (goto "goto") (statement_identifier "LAB_00029604") (; ";"))) (expression_statement "iVar1 = *(int *)(local_98 + 0x20);" (assignment_expression "iVar1 = *(int *)(local_98 + 0x20)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(local_98 + 0x20)" (* "*") (cast_expression "(int *)(local_98 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x20)" (( "(") (binary_expression "local_98 + 0x20" (identifier "local_98") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(local_98 + 0x2c)" (* "*") (cast_expression "(uint *)(local_98 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar23 = (int)local_88 + iVar1;" (assignment_expression "uVar23 = (int)local_88 + iVar1" (identifier "uVar23") (= "=") (binary_expression "(int)local_88 + iVar1" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (identifier "iVar1"))) (; ";")) (if_statement "if (uVar20 != 0) {\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }" (if "if") (parenthesized_expression "(uVar20 != 0)" (( "(") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }\n            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);\n            printf(pcVar10);\n          }" ({ "{") (if_statement "if (uVar23 < (int)local_88 + 0x14U) {\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }\n            else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" (if "if") (parenthesized_expression "(uVar23 < (int)local_88 + 0x14U)" (( "(") (binary_expression "uVar23 < (int)local_88 + 0x14U" (identifier "uVar23") (< "<") (binary_expression "(int)local_88 + 0x14U" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (number_literal "0x14U"))) () ")")) (compound_statement "{\n              local_94 = 0;\nLAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;\n            }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00029a9e:\n              if (uVar20 <= local_94) goto LAB_00029a35;" (statement_identifier "LAB_00029a9e") (: ":") (if_statement "if (uVar20 <= local_94) goto LAB_00029a35;" (if "if") (parenthesized_expression "(uVar20 <= local_94)" (( "(") (binary_expression "uVar20 <= local_94" (identifier "uVar20") (<= "<=") (identifier "local_94")) () ")")) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";")))) (} "}")) (else_clause "else {\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" (else "else") (compound_statement "{\n              local_94 = 0;\n              local_9c = 0;\n              pvVar9 = local_88;\n              do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);\n            }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" (identifier "local_9c") (= "=") (number_literal "0")) (; ";")) (expression_statement "pvVar9 = local_88;" (assignment_expression "pvVar9 = local_88" (identifier "pvVar9") (= "=") (identifier "local_88")) (; ";")) (do_statement "do {\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              } while ((int)pvVar9 + 0x14U <= uVar23);" (do "do") (compound_statement "{\n                uVar20 = (*DAT_000b9dd8)(pvVar9,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 2,2);\n                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);\n                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);\n                (*DAT_000b9dd8)((int)pvVar9 + 8,4);\n                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);\n                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);\n                uVar8 = FUN_0001fa80();\n                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);\n                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);\n                uVar20 = (uint)uVar6;\n                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);\n                printf(pcVar10,uVar19 & 0xffff,uVar20);\n                uVar19 = iVar1 - local_9c;\n                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }\n                uVar15 = (*DAT_000b9dd8)(iVar21,4);\n                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }\n                uVar24 = 1;\n                printf(pcVar10,uVar15);\n                local_bc = uVar13 + local_9c;\n                if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }\n                uVar20 = *(uint *)(local_98 + 0x2c);\n                if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;\n                local_94 = local_94 + 1;\n                local_9c = local_9c + uVar14;\n                if (uVar20 <= local_94) goto LAB_00029a35;\n                pvVar9 = (void *)((int)local_88 + local_9c);\n              }" ({ "{") (expression_statement "uVar20 = (*DAT_000b9dd8)(pvVar9,2);" (assignment_expression "uVar20 = (*DAT_000b9dd8)(pvVar9,2)" (identifier "uVar20") (= "=") (call_expression "(*DAT_000b9dd8)(pvVar9,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pvVar9,2)" (( "(") (identifier "pvVar9") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "(*DAT_000b9dd8)((int)pvVar9 + 2,2);" (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 2,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 2,2)" (( "(") (binary_expression "(int)pvVar9 + 2" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "2")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);" (assignment_expression "uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2)" (identifier "uVar19") (= "=") (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 4,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 4,2)" (( "(") (binary_expression "(int)pvVar9 + 4" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "4")) (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);" (assignment_expression "uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2)" (identifier "uVar6") (= "=") (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 6,2)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 6,2)" (( "(") (binary_expression "(int)pvVar9 + 6" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "6")) (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "(*DAT_000b9dd8)((int)pvVar9 + 8,4);" (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 8,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 8,4)" (( "(") (binary_expression "(int)pvVar9 + 8" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "8")) (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" (identifier "uVar13") (= "=") (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0xc,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 0xc,4)" (( "(") (binary_expression "(int)pvVar9 + 0xc" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "0xc")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);" (assignment_expression "uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4)" (identifier "uVar14") (= "=") (call_expression "(*DAT_000b9dd8)((int)pvVar9 + 0x10,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "((int)pvVar9 + 0x10,4)" (( "(") (binary_expression "(int)pvVar9 + 0x10" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "0x10")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar8 = FUN_0001fa80();" (assignment_expression "uVar8 = FUN_0001fa80()" (identifier "uVar8") (= "=") (call_expression "FUN_0001fa80()" (identifier "FUN_0001fa80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5)" (identifier "dcgettext") (argument_list "(0,"  %#06lx: Rev: %d  Flags: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  %#06lx: Rev: %d  Flags: %s"" (" """) (string_content "  %#06lx: Rev: %d  Flags: %s") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);" (call_expression "printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8)" (identifier "printf") (argument_list "(pcVar10,local_9c,uVar20 & 0xffff,uVar8)" (( "(") (identifier "pcVar10") (, ",") (identifier "local_9c") (, ",") (binary_expression "uVar20 & 0xffff" (identifier "uVar20") (& "&") (number_literal "0xffff")) (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar20 = (uint)uVar6;" (assignment_expression "uVar20 = (uint)uVar6" (identifier "uVar20") (= "=") (cast_expression "(uint)uVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar6"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Index: %d  Cnt: %d  ",5)" (identifier "dcgettext") (argument_list "(0,"  Index: %d  Cnt: %d  ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Index: %d  Cnt: %d  "" (" """) (string_content "  Index: %d  Cnt: %d  ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar19 & 0xffff,uVar20);" (call_expression "printf(pcVar10,uVar19 & 0xffff,uVar20)" (identifier "printf") (argument_list "(pcVar10,uVar19 & 0xffff,uVar20)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "uVar19 & 0xffff" (identifier "uVar19") (& "&") (number_literal "0xffff")) (, ",") (identifier "uVar20") () ")"))) (; ";")) (expression_statement "uVar19 = iVar1 - local_9c;" (assignment_expression "uVar19 = iVar1 - local_9c" (identifier "uVar19") (= "=") (binary_expression "iVar1 - local_9c" (identifier "iVar1") (- "-") (identifier "local_9c"))) (; ";")) (if_statement "if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }" (if "if") (parenthesized_expression "((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U))" (( "(") (binary_expression "(uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)" (parenthesized_expression "(uVar19 < uVar13)" (( "(") (binary_expression "uVar19 < uVar13" (identifier "uVar19") (< "<") (identifier "uVar13")) () ")")) (|| "||") (parenthesized_expression "(iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)" (( "(") (comma_expression "iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U" (assignment_expression "iVar21 = (int)pvVar9 + uVar13" (identifier "iVar21") (= "=") (binary_expression "(int)pvVar9 + uVar13" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (identifier "uVar13"))) (, ",") (binary_expression "uVar23 < iVar21 + 8U" (identifier "uVar23") (< "<") (binary_expression "iVar21 + 8U" (identifier "iVar21") (+ "+") (number_literal "8U")))) () ")"))) () ")")) (compound_statement "{\n                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;\n                  break;\n                }" ({ "{") (if_statement "if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;" (if "if") (parenthesized_expression "(*(uint *)(local_98 + 0x2c) <= local_94)" (( "(") (binary_expression "*(uint *)(local_98 + 0x2c) <= local_94" (pointer_expression "*(uint *)(local_98 + 0x2c)" (* "*") (cast_expression "(uint *)(local_98 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")")))) (<= "<=") (identifier "local_94")) () ")")) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "uVar15 = (*DAT_000b9dd8)(iVar21,4);" (assignment_expression "uVar15 = (*DAT_000b9dd8)(iVar21,4)" (identifier "uVar15") (= "=") (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21,4)" (( "(") (identifier "iVar21") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4)" (identifier "uVar16") (= "=") (call_expression "(*DAT_000b9dd8)(iVar21 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21 + 4,4)" (( "(") (binary_expression "iVar21 + 4" (identifier "iVar21") (+ "+") (number_literal "4")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }\n                else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" (if "if") (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15))" (( "(") (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)" (parenthesized_expression "(DAT_000b7538 == 0)" (( "(") (binary_expression "DAT_000b7538 == 0" (identifier "DAT_000b7538") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_000b7534 <= uVar15)" (( "(") (binary_expression "DAT_000b7534 <= uVar15" (identifier "DAT_000b7534") (<= "<=") (identifier "uVar15")) () ")"))) () ")")) (compound_statement "{\n                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);\n                }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"Name index: %ld\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Name index: %ld\n",5)" (identifier "dcgettext") (argument_list "(0,"Name index: %ld\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Name index: %ld\n"" (" """) (string_content "Name index: %ld") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" (else "else") (compound_statement "{\n                  uVar15 = uVar15 + DAT_000b7538;\n                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);\n                }" ({ "{") (expression_statement "uVar15 = uVar15 + DAT_000b7538;" (assignment_expression "uVar15 = uVar15 + DAT_000b7538" (identifier "uVar15") (= "=") (binary_expression "uVar15 + DAT_000b7538" (identifier "uVar15") (+ "+") (identifier "DAT_000b7538"))) (; ";")) (expression_statement "pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"Name: %s\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"Name: %s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"Name: %s\n",5)" (identifier "dcgettext") (argument_list "(0,"Name: %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Name: %s\n"" (" """) (string_content "Name: %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}")))) (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (expression_statement "printf(pcVar10,uVar15);" (call_expression "printf(pcVar10,uVar15)" (identifier "printf") (argument_list "(pcVar10,uVar15)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar15") () ")"))) (; ";")) (expression_statement "local_bc = uVar13 + local_9c;" (assignment_expression "local_bc = uVar13 + local_9c" (identifier "local_bc") (= "=") (binary_expression "uVar13 + local_9c" (identifier "uVar13") (+ "+") (identifier "local_9c"))) (; ";")) (if_statement "if (1 < uVar6) {\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }" (if "if") (parenthesized_expression "(1 < uVar6)" (( "(") (binary_expression "1 < uVar6" (number_literal "1") (< "<") (identifier "uVar6")) () ")")) (compound_statement "{\n                  do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);\n                }" ({ "{") (do_statement "do {\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  } while (uVar20 != uVar24);" (do "do") (compound_statement "{\n                    if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }\n                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }\nLAB_00029912:\n                    iVar21 = iVar21 + uVar16;\n                    local_bc = local_bc + uVar16;\n                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;\n                    uVar13 = (*DAT_000b9dd8)(iVar21,4);\n                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);\n                    iVar18 = DAT_000b7538;\n                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }\n                    uVar24 = uVar24 + 1;\n                  }" ({ "{") (if_statement "if (7 < uVar16) {\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }" (if "if") (parenthesized_expression "(7 < uVar16)" (( "(") (binary_expression "7 < uVar16" (number_literal "7") (< "<") (identifier "uVar16")) () ")")) (compound_statement "{\n                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;\nLAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);\n                      printf(pcVar10);\n                      break;\n                    }" ({ "{") (if_statement "if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;" (if "if") (parenthesized_expression "(uVar16 <= uVar23 - iVar21)" (( "(") (binary_expression "uVar16 <= uVar23 - iVar21" (identifier "uVar16") (<= "<=") (binary_expression "uVar23 - iVar21" (identifier "uVar23") (- "-") (identifier "iVar21"))) () ")")) (goto_statement "goto LAB_00029912;" (goto "goto") (statement_identifier "LAB_00029912") (; ";"))) (labeled_statement "LAB_0002999f:\n                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);" (statement_identifier "LAB_0002999f") (: ":") (expression_statement "pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Version def aux past end of section\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Version def aux past end of section\n",5)" (identifier "dcgettext") (argument_list "(0,"  Version def aux past end of section\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Version def aux past end of section\n"" (" """) (string_content "  Version def aux past end of section") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }" (if "if") (parenthesized_expression "((uVar20 - 1 != uVar24) || (uVar16 != 0))" (( "(") (binary_expression "(uVar20 - 1 != uVar24) || (uVar16 != 0)" (parenthesized_expression "(uVar20 - 1 != uVar24)" (( "(") (binary_expression "uVar20 - 1 != uVar24" (binary_expression "uVar20 - 1" (identifier "uVar20") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar24")) () ")")) (|| "||") (parenthesized_expression "(uVar16 != 0)" (( "(") (binary_expression "uVar16 != 0" (identifier "uVar16") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);\n                      warn(uVar8,uVar16);\n                      break;\n                    }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Invalid vda_next field of %lx\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid vda_next field of %lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid vda_next field of %lx\n"" (" """) (string_content "Invalid vda_next field of %lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar8,uVar16);" (call_expression "warn(uVar8,uVar16)" (identifier "warn") (argument_list "(uVar8,uVar16)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar16") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (labeled_statement "LAB_00029912:\n                    iVar21 = iVar21 + uVar16;" (statement_identifier "LAB_00029912") (: ":") (expression_statement "iVar21 = iVar21 + uVar16;" (assignment_expression "iVar21 = iVar21 + uVar16" (identifier "iVar21") (= "=") (binary_expression "iVar21 + uVar16" (identifier "iVar21") (+ "+") (identifier "uVar16"))) (; ";"))) (expression_statement "local_bc = local_bc + uVar16;" (assignment_expression "local_bc = local_bc + uVar16" (identifier "local_bc") (= "=") (binary_expression "local_bc + uVar16" (identifier "local_bc") (+ "+") (identifier "uVar16"))) (; ";")) (if_statement "if (uVar23 < iVar21 + 8U) goto LAB_0002999f;" (if "if") (parenthesized_expression "(uVar23 < iVar21 + 8U)" (( "(") (binary_expression "uVar23 < iVar21 + 8U" (identifier "uVar23") (< "<") (binary_expression "iVar21 + 8U" (identifier "iVar21") (+ "+") (number_literal "8U"))) () ")")) (goto_statement "goto LAB_0002999f;" (goto "goto") (statement_identifier "LAB_0002999f") (; ";"))) (expression_statement "uVar13 = (*DAT_000b9dd8)(iVar21,4);" (assignment_expression "uVar13 = (*DAT_000b9dd8)(iVar21,4)" (identifier "uVar13") (= "=") (call_expression "(*DAT_000b9dd8)(iVar21,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21,4)" (( "(") (identifier "iVar21") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);" (assignment_expression "uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4)" (identifier "uVar16") (= "=") (call_expression "(*DAT_000b9dd8)(iVar21 + 4,4)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(iVar21 + 4,4)" (( "(") (binary_expression "iVar21 + 4" (identifier "iVar21") (+ "+") (number_literal "4")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "iVar18 = DAT_000b7538;" (assignment_expression "iVar18 = DAT_000b7538" (identifier "iVar18") (= "=") (identifier "DAT_000b7538")) (; ";")) (if_statement "if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }\n                    else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" (if "if") (parenthesized_expression "((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13))" (( "(") (binary_expression "(DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)" (parenthesized_expression "(DAT_000b7538 == 0)" (( "(") (binary_expression "DAT_000b7538 == 0" (identifier "DAT_000b7538") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_000b7534 <= uVar13)" (( "(") (binary_expression "DAT_000b7534 <= uVar13" (identifier "DAT_000b7534") (<= "<=") (identifier "uVar13")) () ")"))) () ")")) (compound_statement "{\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13);\n                    }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5)" (identifier "dcgettext") (argument_list "(0,"  %#06lx: Parent %d, name index: %ld\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  %#06lx: Parent %d, name index: %ld\n"" (" """) (string_content "  %#06lx: Parent %d, name index: %ld") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,local_bc,uVar24,uVar13);" (call_expression "printf(pcVar10,local_bc,uVar24,uVar13)" (identifier "printf") (argument_list "(pcVar10,local_bc,uVar24,uVar13)" (( "(") (identifier "pcVar10") (, ",") (identifier "local_bc") (, ",") (identifier "uVar24") (, ",") (identifier "uVar13") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" (else "else") (compound_statement "{\n                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);\n                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);\n                    }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  %#06lx: Parent %d: %s\n",5)" (identifier "dcgettext") (argument_list "(0,"  %#06lx: Parent %d: %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  %#06lx: Parent %d: %s\n"" (" """) (string_content "  %#06lx: Parent %d: %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);" (call_expression "printf(pcVar10,local_bc,uVar24,uVar13 + iVar18)" (identifier "printf") (argument_list "(pcVar10,local_bc,uVar24,uVar13 + iVar18)" (( "(") (identifier "pcVar10") (, ",") (identifier "local_bc") (, ",") (identifier "uVar24") (, ",") (binary_expression "uVar13 + iVar18" (identifier "uVar13") (+ "+") (identifier "iVar18")) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 + 1" (identifier "uVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar20 != uVar24)" (( "(") (binary_expression "uVar20 != uVar24" (identifier "uVar20") (!= "!=") (identifier "uVar24")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar20 = *(uint *)(local_98 + 0x2c);" (assignment_expression "uVar20 = *(uint *)(local_98 + 0x2c)" (identifier "uVar20") (= "=") (pointer_expression "*(uint *)(local_98 + 0x2c)" (* "*") (cast_expression "(uint *)(local_98 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x2c)" (( "(") (binary_expression "local_98 + 0x2c" (identifier "local_98") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (uVar14 < 0x14) {\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }\n                else if (uVar19 < uVar14) goto LAB_00029a9e;" (if "if") (parenthesized_expression "(uVar14 < 0x14)" (( "(") (binary_expression "uVar14 < 0x14" (identifier "uVar14") (< "<") (number_literal "0x14")) () ")")) (compound_statement "{\n                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }\n                }" ({ "{") (if_statement "if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }" (if "if") (parenthesized_expression "((uVar20 - 1 != local_94) || (uVar14 != 0))" (( "(") (binary_expression "(uVar20 - 1 != local_94) || (uVar14 != 0)" (parenthesized_expression "(uVar20 - 1 != local_94)" (( "(") (binary_expression "uVar20 - 1 != local_94" (binary_expression "uVar20 - 1" (identifier "uVar20") (- "-") (number_literal "1")) (!= "!=") (identifier "local_94")) () ")")) (|| "||") (parenthesized_expression "(uVar14 != 0)" (( "(") (binary_expression "uVar14 != 0" (identifier "uVar14") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);\n                    warn(uVar8,uVar14);\n                    goto LAB_00029a35;\n                  }" ({ "{") (expression_statement "uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);" (assignment_expression "uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5)" (identifier "uVar8") (= "=") (call_expression "dcgettext(0,"Invalid vd_next field of %lx\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid vd_next field of %lx\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid vd_next field of %lx\n"" (" """) (string_content "Invalid vd_next field of %lx") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar8,uVar14);" (call_expression "warn(uVar8,uVar14)" (identifier "warn") (argument_list "(uVar8,uVar14)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar14") () ")"))) (; ";")) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar19 < uVar14) goto LAB_00029a9e;" (else "else") (if_statement "if (uVar19 < uVar14) goto LAB_00029a9e;" (if "if") (parenthesized_expression "(uVar19 < uVar14)" (( "(") (binary_expression "uVar19 < uVar14" (identifier "uVar19") (< "<") (identifier "uVar14")) () ")")) (goto_statement "goto LAB_00029a9e;" (goto "goto") (statement_identifier "LAB_00029a9e") (; ";"))))) (expression_statement "local_94 = local_94 + 1;" (assignment_expression "local_94 = local_94 + 1" (identifier "local_94") (= "=") (binary_expression "local_94 + 1" (identifier "local_94") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_9c = local_9c + uVar14;" (assignment_expression "local_9c = local_9c + uVar14" (identifier "local_9c") (= "=") (binary_expression "local_9c + uVar14" (identifier "local_9c") (+ "+") (identifier "uVar14"))) (; ";")) (if_statement "if (uVar20 <= local_94) goto LAB_00029a35;" (if "if") (parenthesized_expression "(uVar20 <= local_94)" (( "(") (binary_expression "uVar20 <= local_94" (identifier "uVar20") (<= "<=") (identifier "local_94")) () ")")) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";"))) (expression_statement "pvVar9 = (void *)((int)local_88 + local_9c);" (assignment_expression "pvVar9 = (void *)((int)local_88 + local_9c)" (identifier "pvVar9") (= "=") (cast_expression "(void *)((int)local_88 + local_9c)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_88 + local_9c)" (( "(") (binary_expression "(int)local_88 + local_9c" (cast_expression "(int)local_88" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_88")) (+ "+") (identifier "local_9c")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pvVar9 + 0x14U <= uVar23)" (( "(") (binary_expression "(int)pvVar9 + 0x14U <= uVar23" (binary_expression "(int)pvVar9 + 0x14U" (cast_expression "(int)pvVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar9")) (+ "+") (number_literal "0x14U")) (<= "<=") (identifier "uVar23")) () ")")) (; ";")) (} "}")))) (expression_statement "pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  Version definition past end of section\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Version definition past end of section\n",5)" (identifier "dcgettext") (argument_list "(0,"  Version definition past end of section\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Version definition past end of section\n"" (" """) (string_content "  Version definition past end of section") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00029a35;" (goto "goto") (statement_identifier "LAB_00029a35") (; ";")) (} "}"))))))) (labeled_statement "LAB_0002929c:\n        local_80 = local_80 + 1;" (statement_identifier "LAB_0002929c") (: ":") (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" (identifier "local_80") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "local_98 = local_98 + 0x48;" (assignment_expression "local_98 = local_98 + 0x48" (identifier "local_98") (= "=") (binary_expression "local_98 + 0x48" (identifier "local_98") (+ "+") (number_literal "0x48"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_80 < uVar20)" (( "(") (binary_expression "local_80 < uVar20" (identifier "local_80") (< "<") (identifier "uVar20")) () ")")) (; ";")) (if_statement "if (bVar2) {\n        return 1;\n      }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n        return 1;\n      }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"\nNo version information found in this file.\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"\nNo version information found in this file.\n",5)" (identifier "dcgettext") (argument_list "(0,"\nNo version information found in this file.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nNo version information found in this file.\n"" (" """) (escape_sequence "\n") (string_content "No version information found in this file.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

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

type_1 __regparm3 function_1(type_2 *filedata)

{
  int *piVar1;
  type_2 *filedata_1;
  type_3 var_35;
  type_4 *var_3;
  int iVar4;
  type_5 *pEVar5;
  type_6 uVar6;
  bool bVar7;
  type_7 bVar8;
  type_8 bVar9;
  type_9 *puVar10;
  type_9 *puVar11;
  char *var_19;
  void *var_29;
  char *var_40;
  char *var_39;
  type_10 offset;
  void *var_32;
  type_11 eVar25;
  type_11 eVar29;
  type_11 eVar30;
  void *__ptr_00;
  type_11 eVar26;
  type_11 eVar27;
  char *var_41;
  size_t var_43;
  type_11 eVar28;
  int var_12;
  type_12 *pEVar19;
  type_13 *var_18;
  type_14 var_2;
  type_4 *__stream;
  type_15 var_45;
  type_14 var_25;
  type_13 *var_13;
  type_6 uVar24;
  type_16 *var_21;
  int var_23;
  type_10 var_38;
  type_14 var_34;
  type_10 var_44;
  type_2 *local_98;
  type_14 var_17;
  type_14 var_14;
  type_12 *var_11;
  type_14 var_47;
  type_15 var_37;
  type_17 evn;
  type_16 evna;
  type_13 local_20 [12];
  type_6 uStack_14;
  
  puVar10 = PTR_stdout_000b3fd8;
  uStack_14 = 0x29239;
  if (var_1 != 0) {
    local_98 = (type_2 *)filedata->section_headers;
    bVar7 = false;
    var_2 = (filedata->file_header).e_shnum;
    var_47 = 0;
    if (var_2 != 0) {
      do {
        var_3 = local_98->handle;
        if (var_3 == (type_4 *)0x6ffffffe) {
          uVar6 = *(type_6 *)((int)&(local_98->file_header).e_phoff + 4);
          var_19 = var_4
                              ((type_2 *)&filedata->string_table,
                               (type_5 *)&filedata->string_table_length,local_98);
          var_40 = (char *)var_5(0,"\nVersion needs section \'%s\' contains %u entry:\n",
                                       "\nVersion needs section \'%s\' contains %u entries:\n",
                                       *(type_6 *)((int)&(local_98->file_header).e_phoff + 4),5)
          ;
          var_6(var_40,var_19,uVar6);
          var_19 = (char *)var_7(0," Addr: 0x",5);
          var_6(var_19);
          var_8(*(type_4 **)puVar10,"%016llx",*(type_6 *)(local_98->file_header).e_ident,
                  *(type_6 *)((local_98->file_header).e_ident + 4));
          var_19 = var_9
                              (filedata,(type_15)(local_98->file_header).e_phoff);
          bVar9 = (local_98->file_header).e_phoff;
          uVar6 = *(type_6 *)((local_98->file_header).e_ident + 8);
          var_40 = (char *)var_7(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
          var_6(var_40,uVar6,(int)bVar9,var_19);
          var_19 = (char *)var_7(0,"Version Needs section",5);
          var_11 = (type_12 *)
                     var_10((void *)0x0,filedata,*(type_15 *)((local_98->file_header).e_ident + 8),1
                              ,(local_98->file_header).e_entry,var_19);
          if (var_11 == (type_12 *)0x0) {
LAB_00029604:
            bVar7 = true;
            var_2 = (filedata->file_header).e_shnum;
          }
          else {
            var_12 = (int)(local_98->file_header).e_entry;
            var_2 = *(type_14 *)((int)&(local_98->file_header).e_phoff + 4);
            var_13 = (type_13 *)((int)&var_11->st_value + var_12);
            if (var_2 != 0) {
              var_14 = 0;
              if (var_13 < &var_11->st_name) {
LAB_00029ea6:
                if (var_2 <= var_14) goto LAB_00029a35;
              }
              else {
                var_17 = 0;
                pEVar19 = var_11;
                do {
                  eVar26._0_4_ = (*byte_get)((type_13 *)pEVar19,2);
                  eVar27._0_2_ = (*byte_get)((type_13 *)((int)&pEVar19->st_value + 2),2);
                  eVar28._0_4_ = (*byte_get)((type_13 *)((int)&pEVar19->st_value + 4),4);
                  eVar25._0_4_ = (*byte_get)((type_13 *)&pEVar19->st_size,4);
                  eVar29._0_4_ = (*byte_get)((type_13 *)((int)&pEVar19->st_size + 4),4);
                  var_19 = (char *)var_7(0,"  %#06lx: Version: %d",5);
                  var_6(var_19,var_17,(type_14)(type_11)eVar26 & 0xffff);
                  if ((var_15 == (char *)0x0) ||
                     (var_16 <= (type_14)(type_11)eVar28)) {
                    var_19 = (char *)var_7(0,"  File: %lx",5);
                    var_6(var_19,(type_6)(type_11)eVar28);
                  }
                  else {
                    var_40 = var_15 + (int)(type_11)eVar28;
                    var_19 = (char *)var_7(0,"  File: %s",5);
                    var_6(var_19,var_40);
                  }
                  var_2 = (type_14)(type_3)(type_11)eVar27;
                  var_19 = (char *)var_7(0,"  Cnt: %d\n",5);
                  var_6(var_19,var_2);
                  eVar26._0_4_ = (type_11)(var_12 - var_17);
                  if ((type_14)(type_11)eVar26 < (type_14)(type_11)eVar25) {
                    if (*(type_14 *)((int)&(local_98->file_header).e_phoff + 4) <= var_14)
                    goto LAB_00029a35;
                    break;
                  }
                  var_18 = (type_13 *)((int)&pEVar19->st_value + (int)(type_11)eVar25);
                  var_23 = (int)(type_11)eVar25 + var_17;
                  if ((type_11)eVar27 != 0) {
                    if (var_18 + 0x10 <= var_13) {
                      var_21 = (type_16 *)0x0;
                      do {
                        (*byte_get)(var_18,4);
                        eVar27._0_4_ = (*byte_get)(var_18 + 4,2);
                        eVar28._0_4_ = (*byte_get)(var_18 + 6,2);
                        eVar25._0_4_ = (*byte_get)(var_18 + 8,4);
                        eVar30._0_4_ = (*byte_get)(var_18 + 0xc,4);
                        var_19 = var_15;
                        if ((var_15 == (char *)0x0) ||
                           (var_16 <= (type_14)(type_11)eVar25)) {
                          var_19 = (char *)var_7(0,"  %#06lx:   Name index: %lx",5);
                          var_6(var_19,var_23,(type_6)(type_11)eVar25);
                        }
                        else {
                          var_40 = (char *)var_7(0,"  %#06lx:   Name: %s",5);
                          var_6(var_40,var_23,var_19 + (int)(type_11)eVar25);
                        }
                        var_19 = var_20((type_14)(type_11)eVar27 & 0xffff);
                        var_40 = (char *)var_7(0,"  Flags: %s  Version: %d\n",5);
                        var_6(var_40,var_19,(type_14)(type_11)eVar28 & 0xffff);
                        if ((type_14)(type_11)eVar30 < 0x10) {
                          if (((type_16 *)(var_2 - 1) != var_21) ||
                             ((type_11)eVar30 != 0)) {
                            var_19 = (char *)var_7(0,"Invalid vna_next field of %lx\n",5);
                            var_22(var_19,(type_6)(type_11)eVar30);
                            goto LAB_00029dda;
                          }
                        }
                        else if ((type_14)((int)var_13 - (int)var_18) < (type_14)(type_11)eVar30) break;
                        var_21 = (type_16 *)((int)var_21 + 1);
                        var_18 = var_18 + (int)(type_11)eVar30;
                        var_23 = var_23 + (int)(type_11)eVar30;
                        if ((type_16 *)var_2 == var_21) goto LAB_00029dda;
                      } while (var_18 + 0x10 <= var_13);
                    }
                    var_19 = (char *)var_7(0,"Missing Version Needs auxillary information\n",5)
                    ;
                    var_22(var_19);
                  }
LAB_00029dda:
                  var_2 = *(type_14 *)((int)&(local_98->file_header).e_phoff + 4);
                  if ((type_14)(type_11)eVar29 < 0x10) {
                    if ((var_2 - 1 != var_14) || ((type_11)eVar29 != 0)) {
                      var_19 = (char *)var_7(0,"Invalid vn_next field of %lx\n",5);
                      var_22(var_19,(type_6)(type_11)eVar29);
                      goto LAB_00029a35;
                    }
                  }
                  else if ((type_14)(type_11)eVar26 < (type_14)(type_11)eVar29) goto LAB_00029ea6;
                  var_14 = var_14 + 1;
                  var_17 = var_17 + (int)(type_11)eVar29;
                  if (var_2 <= var_14) goto LAB_00029a35;
                  pEVar19 = (type_12 *)((int)&var_11->st_value + var_17);
                } while (&pEVar19->st_name <= var_13);
              }
              var_19 = (char *)var_7(0,"Missing Version Needs information\n",5);
              var_22(var_19);
            }
LAB_00029a35:
            var_24(var_11);
            bVar7 = true;
            var_2 = (filedata->file_header).e_shnum;
          }
        }
        else if (var_3 == (type_4 *)0x6fffffff) {
          var_25 = (type_14)(local_98->file_header).e_phoff;
          if ((var_25 < var_2) &&
             (filedata_1 = (type_2 *)(filedata->section_headers + var_25),
             (type_14)(filedata_1->file_header).e_phoff < var_2)) {
            var_12 = *(int *)((int)&(local_98->file_header).e_entry + 4);
            bVar8 = (local_98->file_header).e_entry;
            if (var_26 == 0) {
              var_11 = var_27(filedata,(type_5 *)filedata_1,&var_37);
            }
            else {
              var_11 = var_28(filedata,(type_5 *)filedata_1,&var_37);
            }
            if (var_11 == (type_12 *)0x0) goto LAB_00029604;
            iVar4 = (int)(filedata_1->file_header).e_phoff;
            pEVar5 = filedata->section_headers;
            var_19 = (char *)var_7(0,"version string table",5);
            var_29 = var_10((void *)0x0,filedata,(type_15)pEVar5[iVar4].sh_offset,1,
                             pEVar5[iVar4].sh_size,var_19);
            if (var_29 != (void *)0x0) {
              var_2 = (type_14)bVar8 >> 1;
              var_25 = var_2 | var_12 << 0x1f;
              var_19 = var_4
                                  ((type_2 *)&filedata->string_table,
                                   (type_5 *)&filedata->string_table_length,local_98);
              var_40 = (char *)var_5(0,
                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",
                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"
                                           ,var_25,5);
              var_6(var_40,var_19,var_25);
              var_19 = (char *)var_7(0," Addr: ",5);
              var_6(var_19);
              puVar11 = PTR_stdout_000b3fd8;
              var_8(*(type_4 **)PTR_stdout_000b3fd8,"%016llx",
                      *(type_6 *)(local_98->file_header).e_ident,
                      *(type_6 *)((local_98->file_header).e_ident + 4));
              var_19 = (char *)0x29427;
              var_40 = var_4
                                  ((type_2 *)&filedata->string_table,
                                   (type_5 *)&filedata->string_table_length,filedata_1);
              uVar6 = *(type_6 *)((local_98->file_header).e_ident + 8);
              bVar9 = (local_98->file_header).e_phoff;
              uVar24 = 5;
              var_39 = (char *)var_7(0,"  Offset: %#08lx  Link: %u (%s)\n");
              var_6(var_39,uVar6,(int)bVar9,var_40);
              var_2 = var_2 * 2;
              offset = var_30(filedata,(type_18)var_2,var_31(var_19,uVar24));
              var_40 = (char *)var_7(0,"version symbol data",5);
              var_32 = var_10((void *)0x0,filedata,offset,(type_18)var_25,2,var_40);
              if (var_32 == (void *)0x0) {
                var_24(var_29);
                var_24(var_11);
                bVar7 = true;
                var_2 = (filedata->file_header).e_shnum;
                goto LAB_0002929c;
              }
              __ptr_00 = var_33(var_25,2);
              if (var_25 == 0) {
                var_24(var_32);
              }
              else {
                do {
                  eVar26._0_2_ = (*byte_get)((type_13 *)((int)var_32 + (var_2 - 2)),2);
                    /* WARNING: Store size is inaccurate */
                  *(type_11 *)((int)__ptr_00 + (var_2 - 2)) = (type_11)eVar26;
                  var_2 = var_2 - 2;
                } while (var_2 != 0);
                var_24(var_32);
                var_34 = 4;
                do {
                  var_2 = var_34 - 4;
                  var_40 = (char *)var_7(0,"*invalid*",5);
                  var_6("  %03x:",var_2);
                  do {
                    if (var_25 <= var_2) break;
                    var_35 = *(type_3 *)((int)__ptr_00 + var_2 * 2);
                    if (var_35 == 0) {
                      __stream = *(type_4 **)puVar11;
                      var_39 = "   0 (*local*)    ";
LAB_0002a221:
                      var_39 = (char *)var_7(0,var_39,5);
                      var_36(var_39,__stream);
                    }
                    else {
                      if (var_35 == 1) {
                        __stream = *(type_4 **)puVar11;
                        var_39 = "   1 (*global*)   ";
                        goto LAB_0002a221;
                      }
                      var_12 = ((int)(short)var_35 >> 0x1f & 0x48U) + 0x20;
                      var_14 = var_6("%4x%c",var_35 & 0x7fff);
                      if (var_2 < var_37) {
                        if (version_info[1]._4_4_ == 0 && (int)version_info[1] == 0) {
                          if ((*(short *)((int)__ptr_00 + var_2 * 2) != -0x7fff) &&
                             (var_39 = (char *)0x0,
                             version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {
LAB_0002a101:
                            var_21 = &evna;
                            var_38 = var_30(filedata,0x14,var_31(var_19,var_12));
                            while( true ) {
                              var_41 = (char *)var_7(0,"version def",5);
                              var_32 = var_10(var_21,filedata,var_38,0x14,1,var_41);
                              var_41 = var_39;
                              if (var_32 == (void *)0x0) break;
                              eVar26._0_4_ = (*byte_get)(local_20,4);
                              eVar27._0_2_ = (*byte_get)(evna.vna_flags,2);
                              if ((type_11)(*(type_3 *)((int)__ptr_00 + var_2 * 2) & 0x7fff) ==
                                  (type_11)eVar27) {
                                eVar26._0_4_ = (*byte_get)(evna.vna_next,4);
                                var_41 = (char *)var_7(0,"version def aux",5);
                                var_32 = var_10(&evn,filedata,var_38 + (int)(type_11)eVar26,8,1
                                                   ,var_41);
                                if (var_32 == (void *)0x0) goto LAB_0002a235;
                                eVar26._0_4_ = (*byte_get)(evn.vn_version,4);
                                piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);
                                var_41 = var_40;
                                if (*piVar1 != 0 ||
                                    (type_14)-*piVar1 <
                                    (type_14)((type_14)(type_11)eVar26 <
                                          (type_14)(type_11)pEVar5[iVar4].sh_size)) {
                                  if ((var_39 == (char *)0x0) || (var_40 == var_39)) {
                                    var_41 = (char *)((int)var_29 + (int)(type_11)eVar26);
                                  }
                                  else {
                                    var_41 = (char *)var_7(0,"*both*",5);
                                  }
                                }
                                break;
                              }
                              var_38 = (int)(type_11)eVar26 + var_38;
                              if ((type_11)eVar26 == 0) break;
                            }
LAB_0002a1b1:
                            if (var_41 != (char *)0x0) {
                              var_43 = var_42(var_41);
                              var_19 = ")";
                              var_12 = var_6("(%s%-*s",var_41,0xc - var_43);
                              var_14 = var_14 + var_12;
                            }
                          }
                        }
                        else {
                          var_44 = var_30(filedata,0x10,var_31(var_19,var_12));
                          do {
                            var_12 = 5;
                            var_39 = (char *)var_7(0,"version need");
                            var_32 = var_10(&evn,filedata,var_44,0x10,1,var_39);
                            if (var_32 == (void *)0x0) {
                              if ((*(short *)((int)__ptr_00 + var_2 * 2) == -0x7fff) ||
                                 (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))
                              goto LAB_0002a1e4;
                              var_39 = (char *)0x0;
                              goto LAB_0002a101;
                            }
                            eVar26._0_4_ = (*byte_get)(evn.vn_aux,4);
                            var_45 = (int)(type_11)eVar26 + var_44;
                            eVar26._0_4_ = (*byte_get)(evn.vn_next,4);
                            do {
                              var_12 = 5;
                              var_39 = (char *)var_7(0,"version need aux (2)");
                              var_32 = var_10(&evna,filedata,var_45,0x10,1,var_39);
                              if (var_32 == (void *)0x0) {
                                if (*(short *)((int)__ptr_00 + var_2 * 2) == 0) {
LAB_0002a449:
                                  eVar26._0_4_ = (*byte_get)(evna.vna_name,4);
                                  piVar1 = (int *)((int)&pEVar5[iVar4].sh_size + 4);
                                  var_39 = var_40;
                                  if (*piVar1 != 0 ||
                                      (type_14)-*piVar1 <
                                      (type_14)((type_14)(type_11)eVar26 <
                                            (type_14)(type_11)pEVar5[iVar4].sh_size)) {
                                    var_39 = (char *)((int)var_29 + (int)(type_11)eVar26);
                                  }
                                  var_41 = var_39;
                                  if ((*(short *)((int)__ptr_00 + var_2 * 2) == -0x7fff) ||
                                     (version_info[3]._4_4_ == 0 && (int)version_info[3] == 0))
                                  goto LAB_0002a1b1;
                                  goto LAB_0002a101;
                                }
                                break;
                              }
                              eVar27._0_4_ = (*byte_get)(evna.vna_next,4);
                              var_45 = var_45 + (int)(type_11)eVar27;
                              eVar28._0_2_ = (*byte_get)(evna.vna_other,2);
                              if ((type_11)*(type_11 *)((int)__ptr_00 + var_2 * 2) ==
                                  (type_11)eVar28) goto LAB_0002a449;
                            } while ((type_11)eVar27 != 0);
                            var_44 = var_44 + (int)(type_11)eVar26;
                          } while ((type_11)eVar26 != 0);
                          if ((*(short *)((int)__ptr_00 + var_2 * 2) != -0x7fff) &&
                             (version_info[3]._4_4_ != 0 || (int)version_info[3] != 0)) {
                            var_39 = (char *)0x0;
                            goto LAB_0002a101;
                          }
                        }
LAB_0002a1e4:
                        if ((int)var_14 < 0x12) {
                          var_6("%*c",0x12 - var_14,0x20);
                        }
                      }
                      else {
                        var_39 = (char *)var_7(0,"invalid index into symbol array\n",5);
                        var_22(var_39);
                      }
                    }
LAB_0002a235:
                    var_2 = var_2 + 1;
                  } while (var_34 != var_2);
                  var_46(10,*(type_4 **)puVar11);
                  bVar7 = var_34 < var_25;
                  var_34 = var_34 + 4;
                } while (bVar7);
              }
              var_24(__ptr_00);
              var_24(var_29);
            }
            goto LAB_00029a35;
          }
        }
        else if (var_3 == (type_4 *)0x6ffffffd) {
          uVar6 = *(type_6 *)((int)&(local_98->file_header).e_phoff + 4);
          var_19 = var_4
                              ((type_2 *)&filedata->string_table,
                               (type_5 *)&filedata->string_table_length,local_98);
          var_40 = (char *)var_5(0,"\nVersion definition section \'%s\' contains %u entry:\n",
                                       "\nVersion definition section \'%s\' contains %u entries:\n",
                                       *(type_6 *)((int)&(local_98->file_header).e_phoff + 4),5)
          ;
          var_6(var_40,var_19,uVar6);
          var_19 = (char *)var_7(0,"  Addr: 0x",5);
          var_6(var_19);
          var_8(*(type_4 **)PTR_stdout_000b3fd8,"%016llx",
                  *(type_6 *)(local_98->file_header).e_ident,
                  *(type_6 *)((local_98->file_header).e_ident + 4));
          var_19 = var_9
                              (filedata,(type_15)(local_98->file_header).e_phoff);
          bVar9 = (local_98->file_header).e_phoff;
          uVar6 = *(type_6 *)((local_98->file_header).e_ident + 8);
          var_40 = (char *)var_7(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
          var_6(var_40,uVar6,(int)bVar9,var_19);
          var_19 = (char *)var_7(0,"version definition section",5);
          var_11 = (type_12 *)
                     var_10((void *)0x0,filedata,*(type_15 *)((local_98->file_header).e_ident + 8),1
                              ,(local_98->file_header).e_entry,var_19);
          if (var_11 == (type_12 *)0x0) goto LAB_00029604;
          var_12 = (int)(local_98->file_header).e_entry;
          var_2 = *(type_14 *)((int)&(local_98->file_header).e_phoff + 4);
          var_13 = (type_13 *)((int)&var_11->st_value + var_12);
          if (var_2 != 0) {
            if (var_13 < &var_11->st_info) {
              var_17 = 0;
LAB_00029a9e:
              if (var_2 <= var_17) goto LAB_00029a35;
            }
            else {
              var_17 = 0;
              var_44 = 0;
              pEVar19 = var_11;
              do {
                eVar26._0_4_ = (*byte_get)((type_13 *)pEVar19,2);
                eVar27._0_4_ = (*byte_get)((type_13 *)((int)&pEVar19->st_value + 2),2);
                eVar28._0_4_ = (*byte_get)((type_13 *)((int)&pEVar19->st_value + 4),2);
                eVar25._0_2_ = (*byte_get)((type_13 *)((int)&pEVar19->st_value + 6),2);
                (*byte_get)((type_13 *)&pEVar19->st_size,4);
                eVar29._0_4_ = (*byte_get)((type_13 *)((int)&pEVar19->st_size + 4),4);
                eVar30._0_4_ = (*byte_get)((type_13 *)&pEVar19->st_name,4);
                var_19 = var_20((type_14)(type_11)eVar27 & 0xffff);
                var_40 = (char *)var_7(0,"  %#06lx: Rev: %d  Flags: %s",5);
                var_6(var_40,var_44,(type_14)(type_11)eVar26 & 0xffff,var_19);
                var_2 = (type_14)(type_3)(type_11)eVar25;
                var_19 = (char *)var_7(0,"  Index: %d  Cnt: %d  ",5);
                var_6(var_19,(type_14)(type_11)eVar28 & 0xffff,var_2);
                eVar26._0_4_ = (type_11)(var_12 - var_44);
                if (((type_14)(type_11)eVar26 < (type_14)(type_11)eVar29) ||
                   (var_18 = (type_13 *)((int)&pEVar19->st_value + (int)(type_11)eVar29),
                   var_13 < var_18 + 8)) {
                  if (*(type_14 *)((int)&(local_98->file_header).e_phoff + 4) <= var_17)
                  goto LAB_00029a35;
                  break;
                }
                var_19 = (char *)(*byte_get)(var_18,4);
                eVar27._0_4_ = (*byte_get)(var_18 + 4,4);
                if ((var_15 == (char *)0x0) || (var_16 <= var_19)) {
                  var_40 = (char *)var_7(0,"Name index: %ld\n",5);
                }
                else {
                  var_19 = var_19 + (int)var_15;
                  var_40 = (char *)var_7(0,"Name: %s\n",5);
                }
                var_25 = 1;
                var_6(var_40,var_19);
                var_23 = (int)(type_11)eVar29 + var_44;
                if (1 < (type_3)(type_11)eVar25) {
                  do {
                    if (7 < (type_14)(type_11)eVar27) {
                      if ((type_14)(type_11)eVar27 <= (type_14)((int)var_13 - (int)var_18))
                      goto LAB_00029912;
LAB_0002999f:
                      var_19 = (char *)var_7(0,"  Version def aux past end of section\n",5);
                      var_6(var_19);
                      break;
                    }
                    if ((var_2 - 1 != var_25) || ((type_11)eVar27 != 0)) {
                      var_19 = (char *)var_7(0,"Invalid vda_next field of %lx\n",5);
                      var_22(var_19,(type_6)(type_11)eVar27);
                      break;
                    }
LAB_00029912:
                    var_18 = var_18 + (int)(type_11)eVar27;
                    var_23 = var_23 + (int)(type_11)eVar27;
                    if (var_13 < var_18 + 8) goto LAB_0002999f;
                    eVar28._0_4_ = (*byte_get)(var_18,4);
                    eVar27._0_4_ = (*byte_get)(var_18 + 4,4);
                    var_19 = var_15;
                    if ((var_15 == (char *)0x0) ||
                       (var_16 <= (type_14)(type_11)eVar28)) {
                      var_19 = (char *)var_7(0,"  %#06lx: Parent %d, name index: %ld\n",5);
                      var_6(var_19,var_23,var_25,(type_6)(type_11)eVar28);
                    }
                    else {
                      var_40 = (char *)var_7(0,"  %#06lx: Parent %d: %s\n",5);
                      var_6(var_40,var_23,var_25,var_19 + (int)(type_11)eVar28);
                    }
                    var_25 = var_25 + 1;
                  } while (var_2 != var_25);
                }
                var_2 = *(type_14 *)((int)&(local_98->file_header).e_phoff + 4);
                if ((type_14)(type_11)eVar30 < 0x14) {
                  if ((var_2 - 1 != var_17) || ((type_11)eVar30 != 0)) {
                    var_19 = (char *)var_7(0,"Invalid vd_next field of %lx\n",5);
                    var_22(var_19,(type_6)(type_11)eVar30);
                    goto LAB_00029a35;
                  }
                }
                else if ((type_14)(type_11)eVar26 < (type_14)(type_11)eVar30) goto LAB_00029a9e;
                var_17 = var_17 + 1;
                var_44 = var_44 + (int)(type_11)eVar30;
                if (var_2 <= var_17) goto LAB_00029a35;
                pEVar19 = (type_12 *)((int)&var_11->st_value + var_44);
              } while (&pEVar19->st_info <= var_13);
            }
            var_19 = (char *)var_7(0,"  Version definition past end of section\n",5);
            var_6(var_19);
          }
          goto LAB_00029a35;
        }
LAB_0002929c:
        var_47 = var_47 + 1;
        local_98 = (type_2 *)&(local_98->file_header).e_phentsize;
      } while (var_47 < var_2);
      if (bVar7) {
        return 1;
      }
    }
    var_19 = (char *)var_7(0,"\nNo version information found in this file.\n",5);
    var_6(var_19);
  }
  return 1;
}


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

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

undefined4 __regparm3 MASKED(int param_1)

{
  int iVar1;
  bool bVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined2 uVar5;
  ushort uVar6;
  short sVar7;
  undefined4 uVar8;
  void *pvVar9;
  char *pcVar10;
  undefined4 uVar11;
  void *__ptr;
  undefined4 uVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  void *__ptr_00;
  size_t sVar17;
  int iVar18;
  uint uVar19;
  char *__s;
  uint uVar20;
  int iVar21;
  char *pcVar22;
  FILE *__stream;
  uint uVar23;
  uint uVar24;
  uint local_c4;
  int local_bc;
  uint local_a4;
  int local_9c;
  int local_98;
  uint local_94;
  uint local_8c;
  void *local_88;
  uint local_80;
  uint local_44;
  undefined1 local_40 [8];
  undefined1 local_38 [4];
  undefined1 local_34 [8];
  undefined1 local_2c [2];
  undefined1 local_2a [2];
  undefined1 local_28 [4];
  undefined1 local_24 [4];
  undefined1 local_20 [12];
  undefined4 uStack_14;
  
  puVar3 = PTR_stdout_000b3fd8;
  uStack_14 = 0x29239;
  if (DAT_000b633c != 0) {
    local_98 = *(int *)(param_1 + 0x5c);
    bVar2 = false;
    uVar20 = *(uint *)(param_1 + 0x54);
    local_80 = 0;
    if (uVar20 != 0) {
      do {
        iVar1 = *(int *)(local_98 + 4);
        if (iVar1 == 0x6ffffffe) {
          uVar8 = *(undefined4 *)(local_98 + 0x2c);
          uVar12 = FUN_00022190();
          pcVar10 = (char *)dcngettext(0,"\nVersion needs section \'%s\' contains %u entry:\n",
                                       "\nVersion needs section \'%s\' contains %u entries:\n",
                                       *(undefined4 *)(local_98 + 0x2c),5);
          printf(pcVar10,uVar12,uVar8);
          pcVar10 = (char *)dcgettext(0," Addr: 0x",5);
          printf(pcVar10);
          fprintf(*(FILE **)puVar3,"%016llx",*(undefined4 *)(local_98 + 0x10),
                  *(undefined4 *)(local_98 + 0x14));
          uVar11 = FUN_00023d10();
          uVar8 = *(undefined4 *)(local_98 + 0x28);
          uVar12 = *(undefined4 *)(local_98 + 0x18);
          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
          printf(pcVar10,uVar12,uVar8,uVar11);
          uVar8 = dcgettext(0,"Version Needs section",5);
          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),
                                          *(undefined4 *)(local_98 + 0x24),uVar8);
          if (local_88 == (void *)0x0) {
LAB_00029604:
            bVar2 = true;
            uVar20 = *(uint *)(param_1 + 0x54);
          }
          else {
            iVar1 = *(int *)(local_98 + 0x20);
            uVar20 = *(uint *)(local_98 + 0x2c);
            uVar23 = (int)local_88 + iVar1;
            if (uVar20 != 0) {
              local_8c = 0;
              if (uVar23 < (int)local_88 + 0x10U) {
LAB_00029ea6:
                if (uVar20 <= local_8c) goto LAB_00029a35;
              }
              else {
                local_94 = 0;
                pvVar9 = local_88;
                do {
                  uVar20 = (*DAT_000b9dd8)(pvVar9,2);
                  uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 2,2);
                  uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,4);
                  uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 8,4);
                  uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);
                  pcVar10 = (char *)dcgettext(0,"  %#06lx: Version: %d",5);
                  printf(pcVar10,local_94,uVar20 & 0xffff);
                  if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar19)) {
                    pcVar10 = (char *)dcgettext(0,"  File: %lx",5);
                    printf(pcVar10,uVar19);
                  }
                  else {
                    iVar21 = uVar19 + DAT_000b7538;
                    pcVar10 = (char *)dcgettext(0,"  File: %s",5);
                    printf(pcVar10,iVar21);
                  }
                  uVar20 = (uint)uVar6;
                  pcVar10 = (char *)dcgettext(0,"  Cnt: %d\n",5);
                  printf(pcVar10,uVar20);
                  uVar19 = iVar1 - local_94;
                  if (uVar19 < uVar13) {
                    if (*(uint *)(local_98 + 0x2c) <= local_8c) goto LAB_00029a35;
                    break;
                  }
                  iVar21 = (int)pvVar9 + uVar13;
                  local_bc = uVar13 + local_94;
                  if (uVar6 != 0) {
                    if (iVar21 + 0x10U <= uVar23) {
                      local_c4 = 0;
                      do {
                        (*DAT_000b9dd8)(iVar21,4);
                        (*DAT_000b9dd8)(iVar21 + 4,2);
                        uVar13 = (*DAT_000b9dd8)(iVar21 + 6,2);
                        uVar15 = (*DAT_000b9dd8)(iVar21 + 8,4);
                        uVar16 = (*DAT_000b9dd8)(iVar21 + 0xc,4);
                        iVar18 = DAT_000b7538;
                        if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {
                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name index: %lx",5);
                          printf(pcVar10,local_bc,uVar15);
                        }
                        else {
                          pcVar10 = (char *)dcgettext(0,"  %#06lx:   Name: %s",5);
                          printf(pcVar10,local_bc,iVar18 + uVar15);
                        }
                        uVar8 = FUN_0001fa80();
                        pcVar10 = (char *)dcgettext(0,"  Flags: %s  Version: %d\n",5);
                        printf(pcVar10,uVar8,uVar13 & 0xffff);
                        if (uVar16 < 0x10) {
                          if ((uVar20 - 1 != local_c4) || (uVar16 != 0)) {
                            uVar8 = dcgettext(0,"Invalid vna_next field of %lx\n",5);
                            warn(uVar8,uVar16);
                            goto LAB_00029dda;
                          }
                        }
                        else if (uVar23 - iVar21 < uVar16) break;
                        local_c4 = local_c4 + 1;
                        iVar21 = iVar21 + uVar16;
                        local_bc = local_bc + uVar16;
                        if (uVar20 == local_c4) goto LAB_00029dda;
                      } while (iVar21 + 0x10U <= uVar23);
                    }
                    uVar8 = dcgettext(0,"Missing Version Needs auxillary information\n",5);
                    warn(uVar8);
                  }
LAB_00029dda:
                  uVar20 = *(uint *)(local_98 + 0x2c);
                  if (uVar14 < 0x10) {
                    if ((uVar20 - 1 != local_8c) || (uVar14 != 0)) {
                      uVar8 = dcgettext(0,"Invalid vn_next field of %lx\n",5);
                      warn(uVar8,uVar14);
                      goto LAB_00029a35;
                    }
                  }
                  else if (uVar19 < uVar14) goto LAB_00029ea6;
                  local_8c = local_8c + 1;
                  local_94 = local_94 + uVar14;
                  if (uVar20 <= local_8c) goto LAB_00029a35;
                  pvVar9 = (void *)((int)local_88 + local_94);
                } while ((int)pvVar9 + 0x10U <= uVar23);
              }
              uVar8 = dcgettext(0,"Missing Version Needs information\n",5);
              warn(uVar8);
            }
LAB_00029a35:
            free(local_88);
            bVar2 = true;
            uVar20 = *(uint *)(param_1 + 0x54);
          }
        }
        else if (iVar1 == 0x6fffffff) {
          if ((*(uint *)(local_98 + 0x28) < uVar20) &&
             (iVar1 = *(int *)(param_1 + 0x5c) + *(uint *)(local_98 + 0x28) * 0x48,
             *(uint *)(iVar1 + 0x28) < uVar20)) {
            iVar21 = *(int *)(local_98 + 0x24);
            uVar20 = *(uint *)(local_98 + 0x20);
            if (DAT_000b6324 == 0) {
              local_88 = (void *)FUN_00022830();
            }
            else {
              local_88 = (void *)FUN_000222e0();
            }
            if (local_88 == (void *)0x0) goto LAB_00029604;
            iVar1 = *(int *)(param_1 + 0x5c) + *(int *)(iVar1 + 0x28) * 0x48;
            uVar8 = dcgettext(0,"version string table",5);
            pvVar9 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(iVar1 + 0x20),
                                          *(undefined4 *)(iVar1 + 0x24),uVar8);
            if (pvVar9 != (void *)0x0) {
              uVar20 = uVar20 >> 1;
              uVar23 = uVar20 | iVar21 << 0x1f;
              uVar8 = FUN_00022190();
              pcVar10 = (char *)dcngettext(0,
                                           "\nVersion symbols section \'%s\' contains %lu entry:\n",
                                           "\nVersion symbols section \'%s\' contains %lu entries:\n"
                                           ,uVar23,5);
              printf(pcVar10,uVar8,uVar23);
              pcVar10 = (char *)dcgettext(0," Addr: ",5);
              printf(pcVar10);
              puVar4 = PTR_stdout_000b3fd8;
              fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),
                      *(undefined4 *)(local_98 + 0x14));
              uVar11 = FUN_00022190();
              uVar8 = *(undefined4 *)(local_98 + 0x18);
              uVar12 = *(undefined4 *)(local_98 + 0x28);
              pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
              printf(pcVar10,uVar8,uVar12,uVar11);
              iVar21 = uVar20 * 2;
              FUN_00026dc0(iVar21,0);
              uVar8 = dcgettext(0,"version symbol data",5);
              __ptr = (void *)FUN_0001bf90(uVar23,0,2,0,uVar8);
              if (__ptr == (void *)0x0) {
                free(pvVar9);
                free(local_88);
                bVar2 = true;
                uVar20 = *(uint *)(param_1 + 0x54);
                goto LAB_0002929c;
              }
              __ptr_00 = (void *)FUN_0005dac0(uVar23,2);
              if (uVar23 == 0) {
                free(__ptr);
              }
              else {
                do {
                  uVar5 = (*DAT_000b9dd8)((int)__ptr + iVar21 + -2,2);
                  *(undefined2 *)((int)__ptr_00 + iVar21 + -2) = uVar5;
                  iVar21 = iVar21 + -2;
                } while (iVar21 != 0);
                free(__ptr);
                local_a4 = 4;
                do {
                  uVar20 = local_a4 - 4;
                  pcVar10 = (char *)dcgettext(0,"*invalid*",5);
                  printf("  %03x:",uVar20);
                  do {
                    if (uVar23 <= uVar20) break;
                    uVar6 = *(ushort *)((int)__ptr_00 + uVar20 * 2);
                    if (uVar6 == 0) {
                      __stream = *(FILE **)puVar4;
                      pcVar22 = "   0 (*local*)    ";
LAB_0002a221:
                      pcVar22 = (char *)dcgettext(0,pcVar22,5);
                      fputs(pcVar22,__stream);
                    }
                    else {
                      if (uVar6 == 1) {
                        __stream = *(FILE **)puVar4;
                        pcVar22 = "   1 (*global*)   ";
                        goto LAB_0002a221;
                      }
                      local_8c = printf("%4x%c",uVar6 & 0x7fff,
                                        ((int)(short)uVar6 >> 0x1f & 0x48U) + 0x20);
                      if (uVar20 < local_44) {
                        if (DAT_000b638c == 0 && DAT_000b6388 == 0) {
                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&
                             (pcVar22 = (char *)0x0, DAT_000b639c != 0 || DAT_000b6398 != 0)) {
LAB_0002a101:
                            FUN_00026dc0(0x14,0);
                            while( true ) {
                              uVar8 = dcgettext(0,"version def",5);
                              iVar21 = FUN_0001bf90(0x14,0,1,0,uVar8);
                              __s = pcVar22;
                              if (iVar21 == 0) break;
                              iVar21 = (*DAT_000b9dd8)(local_20,4);
                              uVar6 = (*DAT_000b9dd8)(local_2c,2);
                              if ((*(ushort *)((int)__ptr_00 + uVar20 * 2) & 0x7fff) == uVar6) {
                                (*DAT_000b9dd8)(local_24,4);
                                uVar8 = dcgettext(0,"version def aux",5);
                                iVar21 = FUN_0001bf90(8,0,1,0,uVar8);
                                if (iVar21 == 0) goto LAB_0002a235;
                                uVar19 = (*DAT_000b9dd8)(local_40,4);
                                __s = pcVar10;
                                if (*(int *)(iVar1 + 0x24) != 0 ||
                                    (uint)-*(int *)(iVar1 + 0x24) <
                                    (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {
                                  if ((pcVar22 == (char *)0x0) || (pcVar10 == pcVar22)) {
                                    __s = (char *)((int)pvVar9 + uVar19);
                                  }
                                  else {
                                    __s = (char *)dcgettext(0,"*both*",5);
                                  }
                                }
                                break;
                              }
                              if (iVar21 == 0) break;
                            }
LAB_0002a1b1:
                            if (__s != (char *)0x0) {
                              sVar17 = strlen(__s);
                              iVar21 = printf("(%s%-*s",__s,0xc - sVar17,")");
                              local_8c = local_8c + iVar21;
                            }
                          }
                        }
                        else {
                          FUN_00026dc0(0x10,0);
                          do {
                            uVar8 = dcgettext(0,"version need",5);
                            iVar21 = FUN_0001bf90(0x10,0,1,0,uVar8);
                            if (iVar21 == 0) {
                              if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||
                                 (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1e4;
                              pcVar22 = (char *)0x0;
                              goto LAB_0002a101;
                            }
                            (*DAT_000b9dd8)(local_38,4);
                            iVar21 = (*DAT_000b9dd8)(local_34,4);
                            do {
                              uVar8 = dcgettext(0,"version need aux (2)",5);
                              iVar18 = FUN_0001bf90(0x10,0,1,0,uVar8);
                              if (iVar18 == 0) {
                                if (*(short *)((int)__ptr_00 + uVar20 * 2) == 0) {
LAB_0002a449:
                                  uVar19 = (*DAT_000b9dd8)(local_28,4);
                                  pcVar22 = pcVar10;
                                  if (*(int *)(iVar1 + 0x24) != 0 ||
                                      (uint)-*(int *)(iVar1 + 0x24) <
                                      (uint)(uVar19 < *(uint *)(iVar1 + 0x20))) {
                                    pcVar22 = (char *)((int)pvVar9 + uVar19);
                                  }
                                  __s = pcVar22;
                                  if ((*(short *)((int)__ptr_00 + uVar20 * 2) == -0x7fff) ||
                                     (DAT_000b639c == 0 && DAT_000b6398 == 0)) goto LAB_0002a1b1;
                                  goto LAB_0002a101;
                                }
                                break;
                              }
                              iVar18 = (*DAT_000b9dd8)(local_24,4);
                              sVar7 = (*DAT_000b9dd8)(local_2a,2);
                              if (*(short *)((int)__ptr_00 + uVar20 * 2) == sVar7)
                              goto LAB_0002a449;
                            } while (iVar18 != 0);
                          } while (iVar21 != 0);
                          if ((*(short *)((int)__ptr_00 + uVar20 * 2) != -0x7fff) &&
                             (DAT_000b639c != 0 || DAT_000b6398 != 0)) {
                            pcVar22 = (char *)0x0;
                            goto LAB_0002a101;
                          }
                        }
LAB_0002a1e4:
                        if ((int)local_8c < 0x12) {
                          printf("%*c",0x12 - local_8c,0x20);
                        }
                      }
                      else {
                        uVar8 = dcgettext(0,"invalid index into symbol array\n",5);
                        warn(uVar8);
                      }
                    }
LAB_0002a235:
                    uVar20 = uVar20 + 1;
                  } while (local_a4 != uVar20);
                  putc(10,*(FILE **)puVar4);
                  bVar2 = local_a4 < uVar23;
                  local_a4 = local_a4 + 4;
                } while (bVar2);
              }
              free(__ptr_00);
              free(pvVar9);
            }
            goto LAB_00029a35;
          }
        }
        else if (iVar1 == 0x6ffffffd) {
          uVar8 = *(undefined4 *)(local_98 + 0x2c);
          uVar12 = FUN_00022190();
          pcVar10 = (char *)dcngettext(0,"\nVersion definition section \'%s\' contains %u entry:\n",
                                       "\nVersion definition section \'%s\' contains %u entries:\n",
                                       *(undefined4 *)(local_98 + 0x2c),5);
          printf(pcVar10,uVar12,uVar8);
          pcVar10 = (char *)dcgettext(0,"  Addr: 0x",5);
          printf(pcVar10);
          fprintf(*(FILE **)PTR_stdout_000b3fd8,"%016llx",*(undefined4 *)(local_98 + 0x10),
                  *(undefined4 *)(local_98 + 0x14));
          uVar11 = FUN_00023d10();
          uVar8 = *(undefined4 *)(local_98 + 0x28);
          uVar12 = *(undefined4 *)(local_98 + 0x18);
          pcVar10 = (char *)dcgettext(0,"  Offset: %#08lx  Link: %u (%s)\n",5);
          printf(pcVar10,uVar12,uVar8,uVar11);
          uVar8 = dcgettext(0,"version definition section",5);
          local_88 = (void *)FUN_0001bf90(1,0,*(undefined4 *)(local_98 + 0x20),
                                          *(undefined4 *)(local_98 + 0x24),uVar8);
          if (local_88 == (void *)0x0) goto LAB_00029604;
          iVar1 = *(int *)(local_98 + 0x20);
          uVar20 = *(uint *)(local_98 + 0x2c);
          uVar23 = (int)local_88 + iVar1;
          if (uVar20 != 0) {
            if (uVar23 < (int)local_88 + 0x14U) {
              local_94 = 0;
LAB_00029a9e:
              if (uVar20 <= local_94) goto LAB_00029a35;
            }
            else {
              local_94 = 0;
              local_9c = 0;
              pvVar9 = local_88;
              do {
                uVar20 = (*DAT_000b9dd8)(pvVar9,2);
                (*DAT_000b9dd8)((int)pvVar9 + 2,2);
                uVar19 = (*DAT_000b9dd8)((int)pvVar9 + 4,2);
                uVar6 = (*DAT_000b9dd8)((int)pvVar9 + 6,2);
                (*DAT_000b9dd8)((int)pvVar9 + 8,4);
                uVar13 = (*DAT_000b9dd8)((int)pvVar9 + 0xc,4);
                uVar14 = (*DAT_000b9dd8)((int)pvVar9 + 0x10,4);
                uVar8 = FUN_0001fa80();
                pcVar10 = (char *)dcgettext(0,"  %#06lx: Rev: %d  Flags: %s",5);
                printf(pcVar10,local_9c,uVar20 & 0xffff,uVar8);
                uVar20 = (uint)uVar6;
                pcVar10 = (char *)dcgettext(0,"  Index: %d  Cnt: %d  ",5);
                printf(pcVar10,uVar19 & 0xffff,uVar20);
                uVar19 = iVar1 - local_9c;
                if ((uVar19 < uVar13) || (iVar21 = (int)pvVar9 + uVar13, uVar23 < iVar21 + 8U)) {
                  if (*(uint *)(local_98 + 0x2c) <= local_94) goto LAB_00029a35;
                  break;
                }
                uVar15 = (*DAT_000b9dd8)(iVar21,4);
                uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);
                if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar15)) {
                  pcVar10 = (char *)dcgettext(0,"Name index: %ld\n",5);
                }
                else {
                  uVar15 = uVar15 + DAT_000b7538;
                  pcVar10 = (char *)dcgettext(0,"Name: %s\n",5);
                }
                uVar24 = 1;
                printf(pcVar10,uVar15);
                local_bc = uVar13 + local_9c;
                if (1 < uVar6) {
                  do {
                    if (7 < uVar16) {
                      if (uVar16 <= uVar23 - iVar21) goto LAB_00029912;
LAB_0002999f:
                      pcVar10 = (char *)dcgettext(0,"  Version def aux past end of section\n",5);
                      printf(pcVar10);
                      break;
                    }
                    if ((uVar20 - 1 != uVar24) || (uVar16 != 0)) {
                      uVar8 = dcgettext(0,"Invalid vda_next field of %lx\n",5);
                      warn(uVar8,uVar16);
                      break;
                    }
LAB_00029912:
                    iVar21 = iVar21 + uVar16;
                    local_bc = local_bc + uVar16;
                    if (uVar23 < iVar21 + 8U) goto LAB_0002999f;
                    uVar13 = (*DAT_000b9dd8)(iVar21,4);
                    uVar16 = (*DAT_000b9dd8)(iVar21 + 4,4);
                    iVar18 = DAT_000b7538;
                    if ((DAT_000b7538 == 0) || (DAT_000b7534 <= uVar13)) {
                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d, name index: %ld\n",5);
                      printf(pcVar10,local_bc,uVar24,uVar13);
                    }
                    else {
                      pcVar10 = (char *)dcgettext(0,"  %#06lx: Parent %d: %s\n",5);
                      printf(pcVar10,local_bc,uVar24,uVar13 + iVar18);
                    }
                    uVar24 = uVar24 + 1;
                  } while (uVar20 != uVar24);
                }
                uVar20 = *(uint *)(local_98 + 0x2c);
                if (uVar14 < 0x14) {
                  if ((uVar20 - 1 != local_94) || (uVar14 != 0)) {
                    uVar8 = dcgettext(0,"Invalid vd_next field of %lx\n",5);
                    warn(uVar8,uVar14);
                    goto LAB_00029a35;
                  }
                }
                else if (uVar19 < uVar14) goto LAB_00029a9e;
                local_94 = local_94 + 1;
                local_9c = local_9c + uVar14;
                if (uVar20 <= local_94) goto LAB_00029a35;
                pvVar9 = (void *)((int)local_88 + local_9c);
              } while ((int)pvVar9 + 0x14U <= uVar23);
            }
            pcVar10 = (char *)dcgettext(0,"  Version definition past end of section\n",5);
            printf(pcVar10);
          }
          goto LAB_00029a35;
        }
LAB_0002929c:
        local_80 = local_80 + 1;
        local_98 = local_98 + 0x48;
      } while (local_80 < uVar20);
      if (bVar2) {
        return 1;
      }
    }
    pcVar10 = (char *)dcgettext(0,"\nNo version information found in this file.\n",5);
    printf(pcVar10);
  }
  return 1;
}

