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

bfd_boolean __regparm3 process_section_contents(Filedata *filedata)

{
  dump_list_entry **ppdVar1;
  bfd_vma *pbVar2;
  char **filedata_00;
  ulong *sec;
  byte *pbVar3;
  byte *pbVar4;
  byte *pbVar5;
  byte *pbVar6;
  byte bVar7;
  byte bVar8;
  Elf_Internal_Shdr *pEVar9;
  ushort uVar10;
  uint3 uVar11;
  bfd_size_type size;
  undefined *puVar12;
  uchar *puVar13;
  bfd_boolean bVar14;
  bfd_boolean bVar15;
  uchar *__ptr;
  char *__format;
  Elf_Internal_Shdr *pEVar16;
  char *pcVar17;
  uint uVar18;
  char *pcVar19;
  int iVar20;
  uint uVar21;
  uint uVar22;
  uint uVar23;
  uint uVar24;
  uint uVar25;
  dwarf_size_type *size_00;
  byte *pbVar26;
  undefined **ppuVar27;
  byte *pbVar28;
  uint uVar29;
  dump_list_entry *pdVar30;
  size_t sVar31;
  byte *pbVar32;
  bool bVar33;
  bool bVar34;
  byte bVar35;
  byte *local_78;
  uint local_70;
  dwarf_section_display_enum local_6c;
  Filedata *local_64;
  bfd_boolean local_60;
  Filedata *local_58;
  uchar *start;
  dwarf_size_type new_size;
  Elf_Internal_Chdr chdr;
  
  bVar35 = 0;
  local_70 = (filedata->file_header).e_shnum;
  pdVar30 = dump_sects_byname;
  if (dump_sects_byname != (dump_list_entry *)0x0) {
    do {
      bVar33 = false;
      uVar18 = 0;
      if (local_70 == 0) {
LAB_000457c0:
        pcVar17 = pdVar30->name;
        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5
                                   );
        warn(pcVar19,pcVar17);
        local_70 = (filedata->file_header).e_shnum;
      }
      else {
        do {
          while( true ) {
            pcVar17 = pdVar30->name;
            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {
              pcVar19 = (char *)dcgettext(0,"<none>",5);
            }
            else if (filedata->string_table == (char *)0x0) {
              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);
            }
            else {
              uVar21 = filedata->section_headers[uVar18].sh_name;
              pcVar19 = filedata->string_table + uVar21;
              if (filedata->string_table_length <= uVar21) {
                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);
              }
            }
            iVar20 = strcmp(pcVar19,pcVar17);
            if (iVar20 != 0) break;
            uVar21 = uVar18 + 1;
            request_dump_bynumber(filedata,uVar18,pdVar30->type);
            local_70 = (filedata->file_header).e_shnum;
            bVar33 = true;
            uVar18 = uVar21;
            if (local_70 <= uVar21) goto LAB_000452ac;
          }
          local_70 = (filedata->file_header).e_shnum;
          uVar18 = uVar18 + 1;
        } while (uVar18 < local_70);
LAB_000452ac:
        if (!bVar33) goto LAB_000457c0;
      }
      ppdVar1 = &pdVar30->next;
      pdVar30 = *ppdVar1;
    } while (*ppdVar1 != (dump_list_entry *)0x0);
  }
  local_64 = (Filedata *)filedata->section_headers;
  local_60 = 1;
  uVar18 = filedata->num_dump_sects;
  if (local_70 == 0) {
LAB_00045884:
    if (local_70 < uVar18) {
      do {
        if (filedata->dump_sects[local_70] != '\0') {
          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);
          warn(pcVar17,local_70);
          local_60 = 0;
        }
        local_70 = local_70 + 1;
      } while (local_70 < filedata->num_dump_sects);
    }
  }
  else if (uVar18 != 0) {
    local_70 = 0;
    do {
      bVar7 = filedata->dump_sects[local_70];
      if ((bVar7 & 1) == 0) {
        if ((bVar7 & 0x10) == 0) goto LAB_00045314;
LAB_00045399:
        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);
        bVar15 = 0;
        if (bVar14 != 0) {
          bVar15 = local_60;
        }
        local_60 = bVar15;
        if ((bVar7 & 8) != 0) goto LAB_000453cd;
LAB_00045326:
        bVar15 = local_60;
        if ((bVar7 & 4) != 0) {
          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;
          pcVar17 = "<none>";
          goto LAB_0004592b;
        }
      }
      else {
        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);
        bVar15 = 0;
        if (bVar14 != 0) {
          bVar15 = local_60;
        }
        local_60 = bVar15;
        if ((bVar7 & 0x10) != 0) goto LAB_00045399;
LAB_00045314:
        if ((bVar7 & 8) == 0) goto LAB_00045326;
LAB_000453cd:
        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);
        bVar15 = local_60;
        start = __ptr;
        if (__ptr == (uchar *)0x0) {
          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||
               (int)(local_64->file_header).e_entry != 0) &&
             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {
            bVar15 = local_60;
          }
        }
        else {
          pbVar2 = &(local_64->file_header).e_entry;
          local_6c = (dwarf_section_display_enum)*pbVar2;
          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);
          size = *pbVar2;
          filedata_00 = &filedata->string_table;
          sec = &filedata->string_table_length;
          pcVar19 = printable_section_name
                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);
          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);
          printf(__format);
          puVar13 = start;
          if (decompress_dumps != 0) {
            puVar13 = __ptr;
            new_size._0_4_ = local_6c;
            new_size._4_4_ = pcVar17;
            if ((local_64->file_size & 0x800) == 0) {
              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);
              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);
              if (bVar33) {
                iVar20 = 5;
                pbVar28 = start;
                pbVar26 = &DAT_0007d05f;
                do {
                  if (iVar20 == 0) break;
                  iVar20 = iVar20 + -1;
                  bVar33 = *pbVar28 < *pbVar26;
                  bVar34 = *pbVar28 == *pbVar26;
                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;
                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;
                } while (bVar34);
                if ((!bVar33 && !bVar34) == bVar33) {
                  bVar8 = start[4];
                  pbVar28 = start + 5;
                  uVar10 = CONCAT11(bVar8,*pbVar28);
                  pbVar26 = start + 6;
                  uVar11 = CONCAT21(uVar10,*pbVar26);
                  pbVar32 = start + 7;
                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;
                  pbVar3 = start + 8;
                  uVar29 = *pbVar3 + uVar18;
                  uVar21 = uVar29 * 0x100;
                  pbVar4 = start + 9;
                  uVar22 = uVar21 + *pbVar4;
                  uVar23 = uVar22 * 0x100;
                  pbVar5 = start + 10;
                  uVar24 = *pbVar5 + uVar23;
                  uVar25 = uVar24 * 0x100;
                  pbVar6 = start + 0xb;
                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);
                  start = start + 0xc;
                  new_size._0_4_ = local_6c - 0xc;
                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);
                  pcVar17 = pcVar19;
                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +
                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +
                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)
                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +
                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +
                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +
                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)
                  goto LAB_00045a7f;
                }
              }
            }
            else {
              uVar21 = get_compression_header(&chdr,start,size);
              uVar18 = chdr.ch_type;
              if (chdr.ch_type != 1) {
                pcVar17 = printable_section_name
                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);
                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5
                                           );
                warn(pcVar19,pcVar17,uVar18);
LAB_00045bd2:
                local_60 = 0;
                bVar15 = local_60;
                goto LAB_00045562;
              }
              start = start + uVar21;
              bVar33 = (uint)new_size < uVar21;
              new_size._0_4_ = (uint)new_size - uVar21;
              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;
              size_00 = (dwarf_size_type *)chdr.ch_size;
              if (chdr.ch_size._4_4_ != 0 ||
                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {
LAB_00045a7f:
                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);
                if (bVar14 == 0) {
                  pcVar17 = printable_section_name
                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);
                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);
                  error(pcVar19,pcVar17);
                  goto LAB_00045bd2;
                }
                local_6c = (uint)new_size;
                puVar13 = start;
              }
            }
          }
          start = puVar13;
          uVar18 = (filedata->file_header).e_shnum;
          pEVar9 = filedata->section_headers;
          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {
            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&
                 (pEVar16->sh_info < uVar18)) &&
                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&
                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&
               (pEVar16->sh_link < uVar18)) {
              pcVar17 = (char *)dcgettext(0,
                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"
                                          ,5);
              printf(pcVar17);
              break;
            }
          }
          puVar12 = PTR_stdout_000b3fd8;
          bVar33 = false;
          pbVar26 = start + local_6c;
          pbVar28 = start;
          while (pbVar28 < pbVar26) {
            while ((_sch_istable[*pbVar28] & 0x10) == 0) {
              pbVar28 = pbVar28 + 1;
              if (pbVar26 == pbVar28) goto LAB_0004553c;
            }
            if (pbVar26 <= pbVar28) break;
            sVar31 = (int)pbVar26 - (int)pbVar28;
            printf("  [%6tx]  ",(int)pbVar28 - (int)start);
            if (sVar31 == 0) {
              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);
              printf(pcVar17);
              pbVar28 = pbVar26;
            }
            else {
              print_symbol(sVar31,(char *)pbVar28);
              putc(10,*(FILE **)puVar12);
              sVar31 = strnlen((char *)pbVar28,sVar31);
              pbVar28 = pbVar28 + sVar31;
            }
            bVar33 = true;
          }
LAB_0004553c:
          if (!bVar33) {
            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);
            printf(pcVar17);
          }
          free(__ptr);
          putc(10,*(FILE **)puVar12);
        }
LAB_00045562:
        local_60 = bVar15;
        bVar15 = local_60;
        if ((bVar7 & 4) != 0) {
LAB_0004556d:
          if (filedata->string_table == (char *)0x0) {
            pcVar17 = "<no-strings>";
LAB_0004592b:
            local_78 = (byte *)dcgettext(0,pcVar17,5);
          }
          else {
            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);
            if ((char *)filedata->string_table_length <= local_64->file_name) {
              pcVar17 = "<corrupt>";
              goto LAB_0004592b;
            }
          }
          pcVar17 = printable_section_name
                              ((Filedata *)&filedata->string_table,
                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);
          bVar15 = local_60;
          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&
              (int)(local_64->file_header).e_entry == 0) {
            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);
            printf(pcVar19,pcVar17);
          }
          else {
            bVar33 = local_64->handle < (FILE *)0x8;
            bVar34 = local_64->handle == (FILE *)0x8;
            if (bVar34) {
              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";
LAB_00045b1b:
              pcVar19 = (char *)dcgettext(0,pcVar19,5);
              printf(pcVar19,pcVar17);
              local_60 = 0;
              bVar15 = local_60;
            }
            else {
              iVar20 = 0x11;
              ppuVar27 = &debug_displays;
              local_6c = abbrev;
              pbVar28 = local_78;
              pbVar26 = (byte *)".gnu.linkonce.wi.";
              do {
                if (iVar20 == 0) break;
                iVar20 = iVar20 + -1;
                bVar33 = *pbVar28 < *pbVar26;
                bVar34 = *pbVar28 == *pbVar26;
                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;
                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;
              } while (bVar34);
              pbVar28 = (byte *)".debug_info";
              if ((!bVar33 && !bVar34) != bVar33) {
                pbVar28 = local_78;
              }
              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {
                bVar33 = local_6c < line;
                bVar34 = local_6c == line;
                if (bVar34) {
                  iVar20 = 0xc;
                  pbVar26 = pbVar28;
                  pbVar32 = (byte *)".debug_line.";
                  do {
                    if (iVar20 == 0) break;
                    iVar20 = iVar20 + -1;
                    bVar33 = *pbVar26 < *pbVar32;
                    bVar34 = *pbVar26 == *pbVar32;
                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;
                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;
                  } while (bVar34);
                  if (((!bVar33 && !bVar34) == bVar33) ||
                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;
                }
                else {
                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);
                  if (iVar20 == 0) break;
                  if (local_6c == separate_debug_str) {
                    pcVar19 = "Unrecognized debug section: %s\n";
                    goto LAB_00045b1b;
                  }
                }
                local_6c = local_6c + aranges;
                ppuVar27 = ppuVar27 + 0x10;
              }
              local_58 = (Filedata *)filedata->section_headers;
              if ((local_58 == (Filedata *)0x0) ||
                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),
                 local_64 != local_58)) {
                free_debug_section(local_6c);
              }
              bVar33 = local_6c < line;
              bVar34 = local_6c == line;
              if (bVar34) {
                iVar20 = 0xc;
                pbVar26 = pbVar28;
                pbVar32 = (byte *)".debug_line.";
                do {
                  if (iVar20 == 0) break;
                  iVar20 = iVar20 + -1;
                  bVar33 = *pbVar26 < *pbVar32;
                  bVar34 = *pbVar26 == *pbVar32;
                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;
                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;
                } while (bVar34);
                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;
                ppuVar27[2] = pbVar28;
              }
              else {
LAB_000456c4:
                pcVar17 = *ppuVar27;
                iVar20 = strcmp(pcVar17,(char *)pbVar28);
                if (iVar20 == 0) {
                  ppuVar27[2] = pcVar17;
                }
                else {
                  ppuVar27[2] = ppuVar27[1];
                }
              }
              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);
              if (bVar14 != 0) {
                section_subset = find_cu_tu_set(filedata,local_70);
                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);
                section_subset = (uint *)0x0;
                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {
                  free_debug_section(local_6c);
                }
                bVar15 = 0;
                if ((uVar18 & 1) != 0) {
                  bVar15 = local_60;
                }
              }
            }
          }
        }
      }
      local_60 = bVar15;
      local_70 = local_70 + 1;
      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;
      uVar18 = filedata->num_dump_sects;
      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;
    } while (local_70 < uVar18);
  }
  return local_60;
}



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

undefined4 __regparm3 FUN_000451e0(int param_1)

{
  undefined4 *puVar1;
  uint *puVar2;
  byte bVar3;
  byte bVar4;
  ushort uVar5;
  uint3 uVar6;
  undefined *puVar7;
  char *__s1;
  int iVar8;
  byte *pbVar9;
  char *pcVar10;
  uint uVar11;
  undefined4 uVar12;
  size_t sVar13;
  undefined4 uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  byte *pbVar20;
  undefined **ppuVar21;
  uint uVar22;
  byte *pbVar23;
  uint uVar24;
  undefined4 *puVar25;
  byte *pbVar26;
  bool bVar27;
  bool bVar28;
  byte bVar29;
  byte *local_78;
  uint local_70;
  uint local_6c;
  uint *local_64;
  undefined4 local_60;
  uint *local_58;
  byte *local_40;
  uint local_3c;
  uint local_38;
  int local_30;
  int local_2c;
  int local_28;
  undefined4 uStack_14;
  
  bVar29 = 0;
  uStack_14 = 0x451eb;
  local_70 = *(uint *)(param_1 + 0x54);
  puVar25 = DAT_000b6280;
  if (DAT_000b6280 != (undefined4 *)0x0) {
    do {
      bVar27 = false;
      uVar22 = 0;
      if (local_70 == 0) {
LAB_000457c0:
        uVar14 = *puVar25;
        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);
        warn(uVar12,uVar14);
        local_70 = *(uint *)(param_1 + 0x54);
      }
      else {
        do {
          while( true ) {
            pcVar10 = (char *)*puVar25;
            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);
            if (puVar2 == (uint *)0x0) {
              __s1 = (char *)dcgettext(0,"<none>",5);
            }
            else if (*(int *)(param_1 + 100) == 0) {
              __s1 = (char *)dcgettext(0,"<no-strings>",5);
            }
            else {
              uVar15 = *puVar2;
              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);
              if (*(uint *)(param_1 + 0x68) <= uVar15) {
                __s1 = (char *)dcgettext(0,"<corrupt>",5);
              }
            }
            iVar8 = strcmp(__s1,pcVar10);
            if (iVar8 != 0) break;
            uVar22 = uVar22 + 1;
            FUN_0001e6b0();
            local_70 = *(uint *)(param_1 + 0x54);
            bVar27 = true;
            if (local_70 <= uVar22) goto LAB_000452ac;
          }
          local_70 = *(uint *)(param_1 + 0x54);
          uVar22 = uVar22 + 1;
        } while (uVar22 < local_70);
LAB_000452ac:
        if (!bVar27) goto LAB_000457c0;
      }
      puVar1 = puVar25 + 2;
      puVar25 = (undefined4 *)*puVar1;
    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);
  }
  local_64 = *(uint **)(param_1 + 0x5c);
  local_60 = 1;
  uVar22 = *(uint *)(param_1 + 0x70);
  if (local_70 == 0) {
LAB_00045884:
    if (local_70 < uVar22) {
      do {
        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {
          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);
          warn(uVar14,local_70);
          local_60 = 0;
        }
        local_70 = local_70 + 1;
      } while (local_70 < *(uint *)(param_1 + 0x70));
    }
  }
  else if (uVar22 != 0) {
    local_70 = 0;
    do {
      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);
      if ((bVar3 & 1) == 0) {
        if ((bVar3 & 0x10) == 0) goto LAB_00045314;
LAB_00045399:
        iVar8 = FUN_00041ce0();
        uVar14 = 0;
        if (iVar8 != 0) {
          uVar14 = local_60;
        }
        local_60 = uVar14;
        if ((bVar3 & 8) != 0) goto LAB_000453cd;
LAB_00045326:
        uVar14 = local_60;
        if ((bVar3 & 4) != 0) {
          if (local_64 != (uint *)0x0) goto LAB_0004556d;
          pcVar10 = "<none>";
          goto LAB_0004592b;
        }
      }
      else {
        iVar8 = FUN_00041ce0();
        uVar14 = 0;
        if (iVar8 != 0) {
          uVar14 = local_60;
        }
        local_60 = uVar14;
        if ((bVar3 & 0x10) != 0) goto LAB_00045399;
LAB_00045314:
        if ((bVar3 & 8) == 0) goto LAB_00045326;
LAB_000453cd:
        pbVar9 = (byte *)FUN_00032770();
        uVar14 = local_60;
        if (pbVar9 == (byte *)0x0) {
          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {
            uVar14 = local_60;
          }
        }
        else {
          local_6c = local_64[8];
          uVar22 = local_64[9];
          uVar12 = FUN_00022190();
          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);
          printf(pcVar10,uVar12);
          pbVar23 = pbVar9;
          if (DAT_000b6320 != 0) {
            local_3c = local_6c;
            local_38 = uVar22;
            if ((local_64[2] & 0x800) == 0) {
              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);
              bVar28 = -uVar22 == (uint)(0xc < local_6c);
              if (bVar27) {
                iVar8 = 5;
                pbVar20 = pbVar9;
                pbVar26 = &DAT_0007d05f;
                do {
                  if (iVar8 == 0) break;
                  iVar8 = iVar8 + -1;
                  bVar27 = *pbVar20 < *pbVar26;
                  bVar28 = *pbVar20 == *pbVar26;
                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;
                } while (bVar28);
                if ((!bVar27 && !bVar28) == bVar27) {
                  bVar4 = pbVar9[4];
                  uVar5 = CONCAT11(bVar4,pbVar9[5]);
                  uVar6 = CONCAT21(uVar5,pbVar9[6]);
                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;
                  uVar24 = pbVar9[8] + uVar15;
                  uVar11 = uVar24 * 0x100;
                  uVar16 = uVar11 + pbVar9[9];
                  uVar17 = uVar16 * 0x100;
                  uVar18 = pbVar9[10] + uVar17;
                  uVar19 = uVar18 * 0x100;
                  local_40 = pbVar9 + 0xc;
                  local_3c = local_6c - 0xc;
                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);
                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +
                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +
                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)
                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +
                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +
                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +
                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)
                  goto LAB_00045a7f;
                }
              }
            }
            else {
              uVar22 = FUN_0001be30(local_6c,uVar22);
              iVar8 = local_30;
              if (local_30 != 1) {
                uVar14 = FUN_00022190();
                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);
                warn(uVar12,uVar14,iVar8);
LAB_00045bd2:
                local_60 = 0;
                uVar14 = local_60;
                goto LAB_00045562;
              }
              local_40 = pbVar9 + uVar22;
              bVar27 = local_3c < uVar22;
              local_3c = local_3c - uVar22;
              local_38 = local_38 - bVar27;
              if (local_28 != 0 || local_2c != 0) {
LAB_00045a7f:
                iVar8 = FUN_0001d690(&local_3c);
                if (iVar8 == 0) {
                  uVar14 = FUN_00022190();
                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);
                  error(uVar12,uVar14);
                  goto LAB_00045bd2;
                }
                local_6c = local_3c;
                pbVar23 = local_40;
              }
            }
          }
          local_40 = pbVar23;
          uVar22 = *(uint *)(param_1 + 0x54);
          uVar15 = *(uint *)(param_1 + 0x5c);
          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {
            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&
                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&
                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&
                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&
               (*(uint *)(uVar11 + 0x28) < uVar22)) {
              pcVar10 = (char *)dcgettext(0,
                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"
                                          ,5);
              printf(pcVar10);
              break;
            }
          }
          puVar7 = PTR_stdout_000b3fd8;
          bVar27 = false;
          pbVar20 = local_40 + local_6c;
          pbVar23 = local_40;
          while (pbVar23 < pbVar20) {
            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {
              pbVar23 = pbVar23 + 1;
              if (pbVar20 == pbVar23) goto LAB_0004553c;
            }
            if (pbVar20 <= pbVar23) break;
            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);
            if ((int)pbVar20 - (int)pbVar23 == 0) {
              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);
              printf(pcVar10);
              pbVar23 = pbVar20;
            }
            else {
              FUN_0001fd20();
              putc(10,*(FILE **)puVar7);
              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);
              pbVar23 = pbVar23 + sVar13;
            }
            bVar27 = true;
          }
LAB_0004553c:
          if (!bVar27) {
            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);
            printf(pcVar10);
          }
          free(pbVar9);
          putc(10,*(FILE **)puVar7);
        }
LAB_00045562:
        local_60 = uVar14;
        uVar14 = local_60;
        if ((bVar3 & 4) != 0) {
LAB_0004556d:
          if (*(int *)(param_1 + 100) == 0) {
            pcVar10 = "<no-strings>";
LAB_0004592b:
            local_78 = (byte *)dcgettext(0,pcVar10,5);
          }
          else {
            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);
            if (*(uint *)(param_1 + 0x68) <= *local_64) {
              pcVar10 = "<corrupt>";
              goto LAB_0004592b;
            }
          }
          uVar12 = FUN_00022190();
          uVar14 = local_60;
          if (local_64[9] == 0 && local_64[8] == 0) {
            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);
            printf(pcVar10,uVar12);
          }
          else {
            bVar27 = local_64[1] < 8;
            bVar28 = local_64[1] == 8;
            if (bVar28) {
              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";
LAB_00045b1b:
              pcVar10 = (char *)dcgettext(0,pcVar10,5);
              printf(pcVar10,uVar12);
              local_60 = 0;
              uVar14 = local_60;
            }
            else {
              iVar8 = 0x11;
              ppuVar21 = &PTR_s__debug_abbrev_000b4840;
              local_6c = 0;
              pbVar9 = local_78;
              pbVar23 = (byte *)".gnu.linkonce.wi.";
              do {
                if (iVar8 == 0) break;
                iVar8 = iVar8 + -1;
                bVar27 = *pbVar9 < *pbVar23;
                bVar28 = *pbVar9 == *pbVar23;
                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;
                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
              } while (bVar28);
              pbVar9 = (byte *)".debug_info";
              if ((!bVar27 && !bVar28) != bVar27) {
                pbVar9 = local_78;
              }
              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {
                bVar27 = local_6c < 4;
                bVar28 = local_6c == 4;
                if (bVar28) {
                  iVar8 = 0xc;
                  pbVar23 = pbVar9;
                  pbVar20 = (byte *)".debug_line.";
                  do {
                    if (iVar8 == 0) break;
                    iVar8 = iVar8 + -1;
                    bVar27 = *pbVar23 < *pbVar20;
                    bVar28 = *pbVar23 == *pbVar20;
                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
                  } while (bVar28);
                  if (((!bVar27 && !bVar28) == bVar27) ||
                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;
                }
                else {
                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);
                  if (iVar8 == 0) break;
                  if (local_6c == 0x2a) {
                    pcVar10 = "Unrecognized debug section: %s\n";
                    goto LAB_00045b1b;
                  }
                }
                local_6c = local_6c + 1;
                ppuVar21 = ppuVar21 + 0x10;
              }
              local_58 = *(uint **)(param_1 + 0x5c);
              if ((local_58 == (uint *)0x0) ||
                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {
                FUN_00045060(local_6c);
              }
              bVar27 = local_6c < 4;
              bVar28 = local_6c == 4;
              if (bVar28) {
                iVar8 = 0xc;
                pbVar23 = pbVar9;
                pbVar20 = (byte *)".debug_line.";
                do {
                  if (iVar8 == 0) break;
                  iVar8 = iVar8 + -1;
                  bVar27 = *pbVar23 < *pbVar20;
                  bVar28 = *pbVar23 == *pbVar20;
                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
                } while (bVar28);
                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;
                ppuVar21[2] = pbVar9;
              }
              else {
LAB_000456c4:
                pcVar10 = *ppuVar21;
                iVar8 = strcmp(pcVar10,(char *)pbVar9);
                if (iVar8 == 0) {
                  ppuVar21[2] = pcVar10;
                }
                else {
                  ppuVar21[2] = ppuVar21[1];
                }
              }
              iVar8 = FUN_000418c0();
              if (iVar8 != 0) {
                DAT_000b5e68 = FUN_000623d0(param_1,local_70);
                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);
                DAT_000b5e68 = 0;
                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {
                  FUN_00045060(local_6c);
                }
                uVar14 = 0;
                if ((uVar22 & 1) != 0) {
                  uVar14 = local_60;
                }
              }
            }
          }
        }
      }
      local_60 = uVar14;
      local_70 = local_70 + 1;
      local_64 = local_64 + 0x12;
      uVar22 = *(uint *)(param_1 + 0x70);
      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;
    } while (local_70 < uVar22);
  }
  return local_60;
}


PUSH EBP
MOV EBP,EAX
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x6ee15
SUB ESP,0x6c
MOV EAX,dword ptr [EAX + 0x54]
MOV dword ptr [ESP + 0xc],EAX
MOV EDI,dword ptr [EBX + 0x2280]
LEA EAX,[EBX + 0xfffc2aee]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0xc]
TEST EDI,EDI
JZ 0x000452c7
LEA ESI,[ESI]
NOP
LEA ECX,[EBX + 0xfffc3164]
MOV dword ptr [ESP + 0x4],0x0
XOR ESI,ESI
MOV dword ptr [ESP + 0xc],ECX
TEST EAX,EAX
JNZ 0x0004524a
JMP 0x000457c0
MOV EAX,dword ptr [EBP + 0x54]
ADD ESI,0x1
CMP ESI,EAX
JNC 0x000452ac
MOV EAX,dword ptr [EDI]
MOV EDX,dword ptr [EBP + 0x5c]
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[ESI + ESI*0x8]
LEA EDX,[EDX + EAX*0x8]
TEST EDX,EDX
JZ 0x000457a0
MOV EAX,dword ptr [EBP + 0x64]
TEST EAX,EAX
JZ 0x00045780
MOV EDX,dword ptr [EDX]
ADD EAX,EDX
CMP EDX,dword ptr [EBP + 0x68]
JNC 0x00045760
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH EAX
CALL 0x00013050
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00045240
MOVZX ECX,byte ptr [EDI + 0x4]
MOV EDX,ESI
MOV EAX,EBP
ADD ESI,0x1
CALL 0x0001e6b0
MOV EAX,dword ptr [EBP + 0x54]
MOV dword ptr [ESP + 0x4],0x1
CMP ESI,EAX
JC 0x0004524a
MOV ESI,dword ptr [ESP + 0x4]
TEST ESI,ESI
JZ 0x000457c0
MOV EDI,dword ptr [EDI + 0x8]
TEST EDI,EDI
JNZ 0x00045220
MOV dword ptr [ESP + 0xc],EAX
MOV EDI,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EBP + 0x5c]
MOV dword ptr [ESP + 0x1c],0x1
TEST EDI,EDI
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EBP + 0x70]
JZ 0x00045884
TEST EAX,EAX
JZ 0x0004586c
LEA EAX,[EBX + 0xfffe55c0]
MOV dword ptr [ESP + 0xc],0x0
MOV dword ptr [ESP + 0x8],EBP
MOV dword ptr [ESP + 0x20],EAX
JMP 0x00045357
TEST ESI,0x10
JNZ 0x00045399
MOV EAX,ESI
AND EAX,0x4
AND ESI,0x8
MOV byte ptr [ESP + 0x4],AL
JNZ 0x000453cd
CMP byte ptr [ESP + 0x4],0x0
JNZ 0x000457f0
MOV EDI,dword ptr [ESP + 0x8]
ADD dword ptr [ESP + 0xc],0x1
ADD dword ptr [ESP + 0x18],0x48
MOV ECX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EDI + 0x70]
CMP ECX,dword ptr [EDI + 0x54]
JNC 0x00045880
CMP ECX,EAX
JNC 0x0004586c
MOV EAX,dword ptr [ESP + 0x8]
MOV EDI,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX + 0x6c]
MOVZX ESI,byte ptr [EAX + EDI*0x1]
TEST ESI,0x1
JZ 0x00045308
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x18]
XOR ECX,ECX
CALL 0x00041ce0
TEST EAX,EAX
MOV EAX,0x0
CMOVNZ EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x1c],EAX
TEST ESI,0x10
JZ 0x00045314
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x18]
MOV ECX,0x1
CALL 0x00041ce0
TEST EAX,EAX
MOV EAX,0x0
CMOVNZ EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,ESI
AND EAX,0x4
AND ESI,0x8
MOV byte ptr [ESP + 0x4],AL
JZ 0x00045326
MOV EDX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x18]
CALL 0x00032770
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x24],EAX
MOV dword ptr [ESP + 0x3c],EAX
TEST EAX,EAX
JZ 0x000458d0
MOV EDI,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ECX + 0x20]
MOV EDX,dword ptr [ECX + 0x24]
LEA ESI,[EDI + 0x64]
LEA EBP,[EDI + 0x68]
MOV dword ptr [ESP + 0x10],EAX
MOV EDI,ECX
MOV dword ptr [ESP + 0x14],EDX
MOV EAX,ESI
MOV EDX,EBP
MOV dword ptr [ESP + 0x28],ESI
CALL 0x00022190
SUB ESP,0x4
MOV ESI,EAX
LEA EAX,[EBX + 0xfffd18dc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
MOV ESI,dword ptr [EBX + 0x2320]
ADD ESP,0x10
TEST ESI,ESI
JZ 0x0004547f
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x40],EAX
MOV dword ptr [ESP + 0x44],EDX
MOV EAX,dword ptr [EDI + 0x8]
MOV dword ptr [ESP + 0x2c],EAX
AND EAX,0x800
JNZ 0x00045b40
MOV ESI,dword ptr [ESP + 0x10]
MOV EDX,0xc
CMP EDX,ESI
SBB EAX,dword ptr [ESP + 0x14]
JC 0x000459a0
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [EAX + 0x54]
MOV ESI,dword ptr [EAX + 0x5c]
LEA EAX,[ECX + ECX*0x8]
LEA EDI,[ESI + EAX*0x8]
CMP ESI,EDI
JNC 0x000454f0
MOV EAX,ESI
MOV EBP,dword ptr [ESP + 0x18]
JMP 0x000454a7
ADD EAX,0x48
CMP EAX,EDI
JNC 0x000454f0
MOV EDX,dword ptr [EAX + 0x4]
CMP EDX,0x4
JZ 0x000454b4
CMP EDX,0x9
JNZ 0x000454a0
MOV EDX,dword ptr [EAX + 0x2c]
CMP EDX,ECX
JNC 0x000454a0
LEA EDX,[EDX + EDX*0x8]
LEA EDX,[ESI + EDX*0x8]
CMP EBP,EDX
JNZ 0x000454a0
MOV EDX,dword ptr [EAX + 0x24]
OR EDX,dword ptr [EAX + 0x20]
JZ 0x000454a0
CMP dword ptr [EAX + 0x28],ECX
JNC 0x000454a0
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd18fc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EAX,dword ptr [EBX + 0xffffffd8]
MOV EBP,dword ptr [ESP + 0x10]
XOR EDX,EDX
MOV ESI,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0xfffc9791]
MOV dword ptr [ESP + 0x28],EAX
ADD EBP,ESI
CMP EBP,ESI
JA 0x00045527
JMP 0x0004553c
ADD ESI,0x1
CMP EBP,ESI
JZ 0x0004553c
MOVZX EAX,byte ptr [ESI]
MOV ECX,dword ptr [ESP + 0x20]
TEST byte ptr [ECX + EAX*0x2],0x10
JZ 0x00045520
CMP EBP,ESI
JA 0x00045810
TEST EDX,EDX
JZ 0x00045940
SUB ESP,0xc
PUSH dword ptr [ESP + 0x30]
CALL 0x000130a0
POP EDI
POP EBP
MOV EAX,dword ptr [ESP + 0x18]
PUSH dword ptr [EAX]
PUSH 0xa
CALL 0x00013360
ADD ESP,0x10
CMP byte ptr [ESP + 0x4],0x0
JZ 0x00045331
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX + 0x64]
TEST EAX,EAX
JZ 0x00045b00
MOV ECX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ECX]
ADD EAX,EDX
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,dword ptr [ESP + 0x8]
CMP EDX,dword ptr [EAX + 0x68]
JNC 0x00045920
MOV EDI,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x8]
MOV ECX,EDI
LEA EDX,[EAX + 0x68]
ADD EAX,0x64
CALL 0x00022190
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [EDI + 0x24]
OR EAX,dword ptr [EDI + 0x20]
JZ 0x00045978
MOV EAX,dword ptr [ESP + 0x18]
CMP dword ptr [EAX + 0x4],0x8
JZ 0x00045b90
MOV ESI,dword ptr [ESP + 0x4]
MOV ECX,0x11
LEA EDI,[EBX + 0xfffc82fe]
LEA EBP,[EBX + 0x840]
MOV dword ptr [ESP + 0x10],0x0
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
LEA EAX,[EBX + 0xfffc9785]
CMOVNZ EAX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x4],EAX
LEA EAX,[EBX + 0xfffc979c]
MOV dword ptr [ESP + 0x24],EAX
JMP 0x00045639
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH dword ptr [EBP + 0x4]
CALL 0x00013050
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00045688
CMP dword ptr [ESP + 0x10],0x2a
JZ 0x00045b10
ADD dword ptr [ESP + 0x10],0x1
ADD EBP,0x40
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH dword ptr [EBP]
CALL 0x00013050
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00045688
CMP dword ptr [ESP + 0x10],0x4
JNZ 0x00045610
MOV ESI,dword ptr [ESP + 0x4]
MOV EDI,dword ptr [ESP + 0x24]
MOV ECX,0xc
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00045688
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH dword ptr [EBP + 0x4]
CALL 0x00013050
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00045631
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x8]
MOV ESI,dword ptr [EAX + 0x5c]
MOV dword ptr [ESP + 0x24],ESI
TEST ESI,ESI
JZ 0x000456aa
MOV EDX,dword ptr [ESP + 0x4]
CALL 0x00026450
MOV dword ptr [ESP + 0x24],EAX
CMP dword ptr [ESP + 0x18],EAX
JZ 0x000456b9
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00045060
ADD ESP,0x10
CMP dword ptr [ESP + 0x10],0x4
JZ 0x00045ad0
MOV ESI,dword ptr [EBP]
SUB ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH ESI
CALL 0x00013050
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00045968
MOV dword ptr [EBP + 0x8],ESI
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x10]
CALL 0x000418c0
TEST EAX,EAX
JZ 0x00045331
SUB ESP,0x8
PUSH dword ptr [ESP + 0x14]
MOV ESI,dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x000623d0
POP EDI
MOV dword ptr [EBX + 0x1e68],EAX
POP EAX
PUSH ESI
PUSH EBP
CALL dword ptr [EBP + 0x34]
MOV ECX,dword ptr [ESP + 0x34]
MOV dword ptr [EBX + 0x1e68],0x0
AND EAX,0x1
ADD ESP,0x10
MOV ESI,EAX
CMP dword ptr [ESP + 0x18],ECX
JZ 0x00045ab0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00045060
ADD ESP,0x10
TEST ESI,ESI
MOV EAX,0x0
CMOVNZ EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x00045331
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x18]
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
JMP 0x00045279
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x14]
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
JMP 0x00045279
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc315d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0x10
JMP 0x00045279
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd18a4]
MOV ESI,dword ptr [EDI]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00066db0
MOV EAX,dword ptr [EBP + 0x54]
ADD ESP,0x10
JMP 0x000452b8
MOV ESI,dword ptr [ESP + 0x18]
TEST ESI,ESI
JNZ 0x0004556d
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc315d]
PUSH 0x5
JMP 0x0004592b
SUB ESP,0x8
MOV EAX,ESI
MOV EDI,EBP
SUB EAX,dword ptr [ESP + 0x44]
SUB EDI,ESI
PUSH EAX
PUSH dword ptr [ESP + 0x34]
CALL 0x00013060
ADD ESP,0x10
TEST EDI,EDI
JZ 0x000458f8
MOV EDX,ESI
MOV EAX,EDI
CALL 0x0001fd20
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x18]
PUSH dword ptr [EAX]
PUSH 0xa
CALL 0x00013360
POP EAX
POP EDX
PUSH EDI
PUSH ESI
CALL 0x00013310
ADD ESP,0x10
ADD ESI,EAX
MOV EDX,0x1
JMP 0x00045510
MOV dword ptr [ESP + 0x1c],EDX
MOV EAX,dword ptr [ESP + 0x1c]
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EBP,dword ptr [ESP + 0x8]
MOV EDI,dword ptr [ESP + 0xc]
CMP EDI,EAX
JNC 0x0004586c
LEA ESI,[EBX + 0xfffd19ec]
MOV EDX,dword ptr [ESP + 0x1c]
JMP 0x000458a8
ADD EDI,0x1
CMP EDI,dword ptr [EBP + 0x70]
JNC 0x00045868
MOV EAX,dword ptr [EBP + 0x6c]
CMP byte ptr [EAX + EDI*0x1],0x0
JZ 0x000458a0
SUB ESP,0x4
PUSH 0x5
PUSH ESI
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH EDI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
XOR EDX,EDX
JMP 0x000458a0
MOV EAX,dword ptr [ECX + 0x24]
OR EAX,dword ptr [ECX + 0x20]
JZ 0x00045562
CMP dword ptr [ECX + 0x4],0x8
MOV EAX,dword ptr [ESP + 0x24]
CMOVZ EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x1c],EAX
JMP 0x00045562
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2c19]
MOV ESI,EBP
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00045859
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc2aee]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP + 0x14],EAX
ADD ESP,0x10
JMP 0x00045595
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd195c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00045544
MOV EAX,dword ptr [EBP + 0x4]
MOV dword ptr [EBP + 0x8],EAX
JMP 0x000456e2
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd1980]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x30]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x00045331
MOV EAX,dword ptr [ESP + 0x3c]
MOV ECX,0x5
LEA EDI,[EBX + 0xfffc905f]
MOV ESI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x00045477
MOVZX EDX,byte ptr [EAX + 0x4]
XOR EDI,EDI
MOVZX ESI,byte ptr [EAX + 0x5]
MOV ECX,EDI
XOR EDI,EDI
SHLD ECX,EDX,0x8
SHL EDX,0x8
ADD ESI,EDX
ADC EDI,ECX
MOV EDX,ESI
MOV ECX,EDI
SHL EDX,0x8
XOR EDI,EDI
SHLD ECX,ESI,0x8
MOVZX ESI,byte ptr [EAX + 0x6]
ADD ESI,EDX
ADC EDI,ECX
MOV EDX,ESI
MOV ECX,EDI
SHL EDX,0x8
XOR EDI,EDI
SHLD ECX,ESI,0x8
MOVZX ESI,byte ptr [EAX + 0x7]
ADD ESI,EDX
ADC EDI,ECX
MOV EDX,ESI
MOV ECX,EDI
SHL EDX,0x8
XOR EDI,EDI
SHLD ECX,ESI,0x8
MOVZX ESI,byte ptr [EAX + 0x8]
ADD ESI,EDX
ADC EDI,ECX
MOV EDX,ESI
MOV ECX,EDI
SHL EDX,0x8
XOR EDI,EDI
SHLD ECX,ESI,0x8
MOVZX ESI,byte ptr [EAX + 0x9]
ADD EDX,ESI
ADC ECX,EDI
SHLD ECX,EDX,0x8
SHL EDX,0x8
MOV ESI,EDX
MOVZX EDX,byte ptr [EAX + 0xa]
MOV EDI,ECX
XOR ECX,ECX
ADD EDX,ESI
ADC ECX,EDI
SHLD ECX,EDX,0x8
SHL EDX,0x8
MOV ESI,EDX
MOVZX EDX,byte ptr [EAX + 0xb]
MOV EDI,ECX
XOR ECX,ECX
ADD EDX,ESI
MOV ESI,dword ptr [ESP + 0x10]
ADC ECX,EDI
ADD EAX,0xc
MOV EDI,dword ptr [ESP + 0x14]
ADD ESI,-0xc
MOV dword ptr [ESP + 0x3c],EAX
MOV dword ptr [ESP + 0x40],ESI
MOV ESI,ECX
ADC EDI,-0x1
OR ESI,EDX
MOV dword ptr [ESP + 0x44],EDI
JZ 0x00045477
LEA EAX,[ESP + 0x3c]
SUB ESP,0xc
LEA ESI,[ESP + 0x4c]
PUSH ESI
CALL 0x0001d690
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00045bdf
MOV EAX,dword ptr [ESP + 0x40]
MOV EDX,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
JMP 0x0004547f
MOV EAX,dword ptr [ESP + 0x10]
CMP EAX,0x3
JZ 0x00045748
TEST EAX,EAX
JNZ 0x00045739
JMP 0x00045748
MOV ESI,dword ptr [ESP + 0x4]
MOV ECX,0xc
LEA EDI,[EBX + 0xfffc979c]
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JNZ 0x000456c4
MOV ESI,dword ptr [ESP + 0x4]
MOV dword ptr [EBP + 0x8],ESI
JMP 0x000456e2
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc3164]
PUSH 0x5
JMP 0x0004592b
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd1a24]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x30]
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV dword ptr [ESP + 0x1c],0x0
JMP 0x00045331
LEA EAX,[ESP + 0x4c]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x1c]
MOV EDX,dword ptr [ESP + 0x4c]
CALL 0x0001be30
MOV ESI,dword ptr [ESP + 0x5c]
ADD ESP,0x10
CMP ESI,0x1
JNZ 0x00045ba0
MOV ECX,dword ptr [ESP + 0x54]
MOV EDX,dword ptr [ESP + 0x50]
XOR EDI,EDI
ADD dword ptr [ESP + 0x3c],EAX
MOV ESI,ECX
SUB dword ptr [ESP + 0x40],EAX
SBB dword ptr [ESP + 0x44],EDI
OR ESI,EDX
JZ 0x00045477
JMP 0x00045a7f
SUB ESP,0x4
LEA EAX,[EBX + 0xfffd19a8]
PUSH 0x5
JMP 0x00045b1b
MOV ECX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x28]
MOV EDX,EBP
CALL 0x00022190
SUB ESP,0x4
MOV EDI,EAX
LEA EAX,[EBX + 0xfffd0f3c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
PUSH ESI
PUSH EDI
PUSH EAX
CALL 0x00066db0
ADD ESP,0x10
MOV dword ptr [ESP + 0x1c],0x0
JMP 0x00045562
MOV ECX,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x28]
MOV EDX,EBP
CALL 0x00022190
SUB ESP,0x4
MOV ESI,EAX
LEA EAX,[EBX + 0xfffd0f6c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP ECX
POP EDI
PUSH ESI
PUSH EAX
CALL 0x00066870
ADD ESP,0x10
JMP 0x00045bd2
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 __regparm3 FUN_000451e0(int param_1)\n\n{\n  undefined4 *puVar1;\n  uint *puVar2;\n  byte bVar3;\n  byte bVar4;\n  ushort uVar5;\n  uint3 uVar6;\n  undefined *puVar7;\n  char *__s1;\n  int iVar8;\n  byte *pbVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  size_t sVar13;\n  undefined4 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte *pbVar20;\n  undefined **ppuVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  byte *local_78;\n  uint local_70;\n  uint local_6c;\n  uint *local_64;\n  undefined4 local_60;\n  uint *local_58;\n  byte *local_40;\n  uint local_3c;\n  uint local_38;\n  int local_30;\n  int local_2c;\n  int local_28;\n  undefined4 uStack_14;\n  \n  bVar29 = 0;\n  uStack_14 = 0x451eb;\n  local_70 = *(uint *)(param_1 + 0x54);\n  puVar25 = DAT_000b6280;\n  if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }\n  local_64 = *(uint **)(param_1 + 0x5c);\n  local_60 = 1;\n  uVar22 = *(uint *)(param_1 + 0x70);\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }\n  return local_60;\n}\n\n" comment (function_definition "undefined4 __regparm3 FUN_000451e0(int param_1)\n\n{\n  undefined4 *puVar1;\n  uint *puVar2;\n  byte bVar3;\n  byte bVar4;\n  ushort uVar5;\n  uint3 uVar6;\n  undefined *puVar7;\n  char *__s1;\n  int iVar8;\n  byte *pbVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  size_t sVar13;\n  undefined4 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte *pbVar20;\n  undefined **ppuVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  byte *local_78;\n  uint local_70;\n  uint local_6c;\n  uint *local_64;\n  undefined4 local_60;\n  uint *local_58;\n  byte *local_40;\n  uint local_3c;\n  uint local_38;\n  int local_30;\n  int local_2c;\n  int local_28;\n  undefined4 uStack_14;\n  \n  bVar29 = 0;\n  uStack_14 = 0x451eb;\n  local_70 = *(uint *)(param_1 + 0x54);\n  puVar25 = DAT_000b6280;\n  if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }\n  local_64 = *(uint **)(param_1 + 0x5c);\n  local_60 = 1;\n  uVar22 = *(uint *)(param_1 + 0x70);\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }\n  return local_60;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_000451e0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  uint *puVar2;\n  byte bVar3;\n  byte bVar4;\n  ushort uVar5;\n  uint3 uVar6;\n  undefined *puVar7;\n  char *__s1;\n  int iVar8;\n  byte *pbVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  size_t sVar13;\n  undefined4 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte *pbVar20;\n  undefined **ppuVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  byte *local_78;\n  uint local_70;\n  uint local_6c;\n  uint *local_64;\n  undefined4 local_60;\n  uint *local_58;\n  byte *local_40;\n  uint local_3c;\n  uint local_38;\n  int local_30;\n  int local_2c;\n  int local_28;\n  undefined4 uStack_14;\n  \n  bVar29 = 0;\n  uStack_14 = 0x451eb;\n  local_70 = *(uint *)(param_1 + 0x54);\n  puVar25 = DAT_000b6280;\n  if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }\n  local_64 = *(uint **)(param_1 + 0x5c);\n  local_60 = 1;\n  uVar22 = *(uint *)(param_1 + 0x70);\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }\n  return local_60;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "ushort uVar5;" type_identifier identifier ;) (declaration "uint3 uVar6;" type_identifier identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "undefined **ppuVar21;" type_identifier (pointer_declarator "**ppuVar21" * (pointer_declarator "*ppuVar21" * identifier)) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "byte *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "uint *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "uint *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "byte *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar29 = 0;" (assignment_expression "bVar29 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x451eb;" (assignment_expression "uStack_14 = 0x451eb" identifier = number_literal) ;) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(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 "puVar25 = DAT_000b6280;" (assignment_expression "puVar25 = DAT_000b6280" identifier = identifier) ;) (if_statement "if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }" if (parenthesized_expression "(DAT_000b6280 != (undefined4 *)0x0)" ( (binary_expression "DAT_000b6280 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }" { (do_statement "do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);" do (compound_statement "{\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    }" { (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (if_statement "if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }" { (labeled_statement "LAB_000457c0:\n        uVar14 = *puVar25;" statement_identifier : (expression_statement "uVar14 = *puVar25;" (assignment_expression "uVar14 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;)) (expression_statement "uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" identifier = (call_expression "dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" identifier (argument_list "(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" ( number_literal , (string_literal ""Section \'%s\' was not dumped because it does not exist!\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar12,uVar14);" (call_expression "warn(uVar12,uVar14)" identifier (argument_list "(uVar12,uVar14)" ( identifier , identifier ))) ;) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(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        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" else (compound_statement "{\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" { (do_statement "do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);" do (compound_statement "{\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        }" { (while_statement "while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }" { (expression_statement "pcVar10 = (char *)*puVar25;" (assignment_expression "pcVar10 = (char *)*puVar25" identifier = (cast_expression "(char *)*puVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) (expression_statement "puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);" (assignment_expression "puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" identifier = (cast_expression "(uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" ( (binary_expression "*(int *)(param_1 + 0x5c) + uVar22 * 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 "uVar22 * 0x48" identifier * number_literal)) )))) ;) (if_statement "if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" if (parenthesized_expression "(puVar2 == (uint *)0x0)" ( (binary_expression "puVar2 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }" { (expression_statement "__s1 = (char *)dcgettext(0,"<none>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<none>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<none>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<none>",5)" identifier (argument_list "(0,"<none>",5)" ( number_literal , (string_literal ""<none>"" " string_content ") , number_literal ))))) ;) }) (else_clause "else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" else (if_statement "if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" if (parenthesized_expression "(*(int *)(param_1 + 100) == 0)" ( (binary_expression "*(int *)(param_1 + 100) == 0" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }" { (expression_statement "__s1 = (char *)dcgettext(0,"<no-strings>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<no-strings>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<no-strings>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<no-strings>",5)" identifier (argument_list "(0,"<no-strings>",5)" ( number_literal , (string_literal ""<no-strings>"" " string_content ") , number_literal ))))) ;) }) (else_clause "else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" else (compound_statement "{\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" { (expression_statement "uVar15 = *puVar2;" (assignment_expression "uVar15 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "__s1 = (char *)(*(int *)(param_1 + 100) + uVar15);" (assignment_expression "__s1 = (char *)(*(int *)(param_1 + 100) + uVar15)" identifier = (cast_expression "(char *)(*(int *)(param_1 + 100) + uVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 100) + uVar15)" ( (binary_expression "*(int *)(param_1 + 100) + uVar15" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }" if (parenthesized_expression "(*(uint *)(param_1 + 0x68) <= uVar15)" ( (binary_expression "*(uint *)(param_1 + 0x68) <= uVar15" (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }" { (expression_statement "__s1 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<corrupt>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal ))))) ;) })) }))))) (expression_statement "iVar8 = strcmp(__s1,pcVar10);" (assignment_expression "iVar8 = strcmp(__s1,pcVar10)" identifier = (call_expression "strcmp(__s1,pcVar10)" identifier (argument_list "(__s1,pcVar10)" ( identifier , identifier )))) ;) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0001e6b0();" (call_expression "FUN_0001e6b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(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 "bVar27 = true;" (assignment_expression "bVar27 = true" identifier = true) ;) (if_statement "if (local_70 <= uVar22) goto LAB_000452ac;" if (parenthesized_expression "(local_70 <= uVar22)" ( (binary_expression "local_70 <= uVar22" identifier <= identifier) )) (goto_statement "goto LAB_000452ac;" goto statement_identifier ;)) })) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(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 "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar22 < local_70)" ( (binary_expression "uVar22 < local_70" identifier < identifier) )) ;) (labeled_statement "LAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;" statement_identifier : (if_statement "if (!bVar27) goto LAB_000457c0;" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (goto_statement "goto LAB_000457c0;" goto statement_identifier ;))) }))) (expression_statement "puVar1 = puVar25 + 2;" (assignment_expression "puVar1 = puVar25 + 2" identifier = (binary_expression "puVar25 + 2" identifier + number_literal)) ;) (expression_statement "puVar25 = (undefined4 *)*puVar1;" (assignment_expression "puVar25 = (undefined4 *)*puVar1" identifier = (cast_expression "(undefined4 *)*puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier))) ;) }) while (parenthesized_expression "((undefined4 *)*puVar1 != (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)*puVar1 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier)) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "local_64 = *(uint **)(param_1 + 0x5c);" (assignment_expression "local_64 = *(uint **)(param_1 + 0x5c)" identifier = (pointer_expression "*(uint **)(param_1 + 0x5c)" * (cast_expression "(uint **)(param_1 + 0x5c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" identifier = number_literal) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0x70)" identifier = (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;) (if_statement "if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }" { (labeled_statement "LAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" statement_identifier : (if_statement "if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" if (parenthesized_expression "(local_70 < uVar22)" ( (binary_expression "local_70 < uVar22" identifier < identifier) )) (compound_statement "{\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" { (do_statement "do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));" do (compound_statement "{\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      }" { (if_statement "if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }" if (parenthesized_expression "(*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0')" ( (binary_expression "*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 0x6c) + local_70)" * (cast_expression "(char *)(*(int *)(param_1 + 0x6c) + local_70)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x6c) + local_70)" ( (binary_expression "*(int *)(param_1 + 0x6c) + local_70" (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }" { (expression_statement "uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" identifier = (call_expression "dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" identifier (argument_list "(0,"Section %d was not dumped because it does not exist!\n",5)" ( number_literal , (string_literal ""Section %d was not dumped because it does not exist!\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,local_70);" (call_expression "warn(uVar14,local_70)" identifier (argument_list "(uVar14,local_70)" ( identifier , identifier ))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) })) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_70 < *(uint *)(param_1 + 0x70))" ( (binary_expression "local_70 < *(uint *)(param_1 + 0x70)" identifier < (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) )) ;) }))) }) (else_clause "else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" else (if_statement "if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" { (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);" do (compound_statement "{\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    }" { (expression_statement "bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);" (assignment_expression "bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70)" identifier = (pointer_expression "*(byte *)(*(int *)(param_1 + 0x6c) + local_70)" * (cast_expression "(byte *)(*(int *)(param_1 + 0x6c) + local_70)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x6c) + local_70)" ( (binary_expression "*(int *)(param_1 + 0x6c) + local_70" (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "((bVar3 & 1) == 0)" ( (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }" { (if_statement "if ((bVar3 & 0x10) == 0) goto LAB_00045314;" if (parenthesized_expression "((bVar3 & 0x10) == 0)" ( (binary_expression "(bVar3 & 0x10) == 0" (parenthesized_expression "(bVar3 & 0x10)" ( (binary_expression "bVar3 & 0x10" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00045314;" goto statement_identifier ;)) (labeled_statement "LAB_00045399:\n        iVar8 = FUN_00041ce0();" statement_identifier : (expression_statement "iVar8 = FUN_00041ce0();" (assignment_expression "iVar8 = FUN_00041ce0()" identifier = (call_expression "FUN_00041ce0()" identifier (argument_list "()" ( )))) ;)) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if (iVar8 != 0) {\n          uVar14 = local_60;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar14 = local_60;\n        }" { (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) })) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" identifier = identifier) ;) (if_statement "if ((bVar3 & 8) != 0) goto LAB_000453cd;" if (parenthesized_expression "((bVar3 & 8) != 0)" ( (binary_expression "(bVar3 & 8) != 0" (parenthesized_expression "(bVar3 & 8)" ( (binary_expression "bVar3 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000453cd;" goto statement_identifier ;)) (labeled_statement "LAB_00045326:\n        uVar14 = local_60;" statement_identifier : (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;)) (if_statement "if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }" { (if_statement "if (local_64 != (uint *)0x0) goto LAB_0004556d;" if (parenthesized_expression "(local_64 != (uint *)0x0)" ( (binary_expression "local_64 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004556d;" goto statement_identifier ;)) (expression_statement "pcVar10 = "<none>";" (assignment_expression "pcVar10 = "<none>"" identifier = (string_literal ""<none>"" " string_content ")) ;) (goto_statement "goto LAB_0004592b;" goto statement_identifier ;) })) }) (else_clause "else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar8 = FUN_00041ce0();" (assignment_expression "iVar8 = FUN_00041ce0()" identifier = (call_expression "FUN_00041ce0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if (iVar8 != 0) {\n          uVar14 = local_60;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar14 = local_60;\n        }" { (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) })) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" identifier = identifier) ;) (if_statement "if ((bVar3 & 0x10) != 0) goto LAB_00045399;" if (parenthesized_expression "((bVar3 & 0x10) != 0)" ( (binary_expression "(bVar3 & 0x10) != 0" (parenthesized_expression "(bVar3 & 0x10)" ( (binary_expression "bVar3 & 0x10" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045399;" goto statement_identifier ;)) (labeled_statement "LAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;" statement_identifier : (if_statement "if ((bVar3 & 8) == 0) goto LAB_00045326;" if (parenthesized_expression "((bVar3 & 8) == 0)" ( (binary_expression "(bVar3 & 8) == 0" (parenthesized_expression "(bVar3 & 8)" ( (binary_expression "bVar3 & 8" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00045326;" goto statement_identifier ;))) (labeled_statement "LAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();" statement_identifier : (expression_statement "pbVar9 = (byte *)FUN_00032770();" (assignment_expression "pbVar9 = (byte *)FUN_00032770()" identifier = (cast_expression "(byte *)FUN_00032770()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00032770()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) (if_statement "if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }" { (if_statement "if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }" if (parenthesized_expression "((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8))" ( (binary_expression "(local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)" (parenthesized_expression "(local_64[9] != 0 || local_64[8] != 0)" ( (binary_expression "local_64[9] != 0 || local_64[8] != 0" (binary_expression "local_64[9] != 0" (subscript_expression "local_64[9]" identifier [ number_literal ]) != number_literal) || (binary_expression "local_64[8] != 0" (subscript_expression "local_64[8]" identifier [ number_literal ]) != number_literal)) )) && (parenthesized_expression "(uVar14 = 0, local_64[1] == 8)" ( (comma_expression "uVar14 = 0, local_64[1] == 8" (assignment_expression "uVar14 = 0" identifier = number_literal) , (binary_expression "local_64[1] == 8" (subscript_expression "local_64[1]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n            uVar14 = local_60;\n          }" { (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) })) }) (else_clause "else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" else (compound_statement "{\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" { (expression_statement "local_6c = local_64[8];" (assignment_expression "local_6c = local_64[8]" identifier = (subscript_expression "local_64[8]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = local_64[9];" (assignment_expression "uVar22 = local_64[9]" identifier = (subscript_expression "local_64[9]" 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 *)dcgettext(0,"\nString dump of section \'%s\':\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nString dump of section \'%s\':\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nString dump of section \'%s\':\n",5)" identifier (argument_list "(0,"\nString dump of section \'%s\':\n",5)" ( number_literal , (string_literal ""\nString dump of section \'%s\':\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" identifier (argument_list "(pcVar10,uVar12)" ( identifier , identifier ))) ;) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" identifier = identifier) ;) (if_statement "if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }" if (parenthesized_expression "(DAT_000b6320 != 0)" ( (binary_expression "DAT_000b6320 != 0" identifier != number_literal) )) (compound_statement "{\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }" { (expression_statement "local_3c = local_6c;" (assignment_expression "local_3c = local_6c" identifier = identifier) ;) (expression_statement "local_38 = uVar22;" (assignment_expression "local_38 = uVar22" identifier = identifier) ;) (if_statement "if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" if (parenthesized_expression "((local_64[2] & 0x800) == 0)" ( (binary_expression "(local_64[2] & 0x800) == 0" (parenthesized_expression "(local_64[2] & 0x800)" ( (binary_expression "local_64[2] & 0x800" (subscript_expression "local_64[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }" { (expression_statement "bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);" (assignment_expression "bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c)" identifier = (binary_expression "uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c)" (binary_expression "uVar22 != 0" identifier != number_literal) || (binary_expression "-uVar22 < (uint)(0xc < local_6c)" (unary_expression "-uVar22" - identifier) < (call_expression "(uint)(0xc < local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xc < local_6c)" ( (binary_expression "0xc < local_6c" number_literal < identifier) )))))) ;) (expression_statement "bVar28 = -uVar22 == (uint)(0xc < local_6c);" (assignment_expression "bVar28 = -uVar22 == (uint)(0xc < local_6c)" identifier = (binary_expression "-uVar22 == (uint)(0xc < local_6c)" (unary_expression "-uVar22" - identifier) == (call_expression "(uint)(0xc < local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xc < local_6c)" ( (binary_expression "0xc < local_6c" number_literal < identifier) ))))) ;) (if_statement "if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }" { (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar9;" (assignment_expression "pbVar20 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar26 = &DAT_0007d05f;" (assignment_expression "pbVar26 = &DAT_0007d05f" identifier = (pointer_expression "&DAT_0007d05f" & identifier)) ;) (do_statement "do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" do (compound_statement "{\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar20 < *pbVar26;" (assignment_expression "bVar27 = *pbVar20 < *pbVar26" identifier = (binary_expression "*pbVar20 < *pbVar26" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar28 = *pbVar20 == *pbVar26;" (assignment_expression "bVar28 = *pbVar20 == *pbVar26" identifier = (binary_expression "*pbVar20 == *pbVar26" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (if_statement "if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }" if (parenthesized_expression "((!bVar27 && !bVar28) == bVar27)" ( (binary_expression "(!bVar27 && !bVar28) == bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" ( (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier) )) (compound_statement "{\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }" { (expression_statement "bVar4 = pbVar9[4];" (assignment_expression "bVar4 = pbVar9[4]" identifier = (subscript_expression "pbVar9[4]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = CONCAT11(bVar4,pbVar9[5]);" (assignment_expression "uVar5 = CONCAT11(bVar4,pbVar9[5])" identifier = (call_expression "CONCAT11(bVar4,pbVar9[5])" identifier (argument_list "(bVar4,pbVar9[5])" ( identifier , (subscript_expression "pbVar9[5]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar6 = CONCAT21(uVar5,pbVar9[6]);" (assignment_expression "uVar6 = CONCAT21(uVar5,pbVar9[6])" identifier = (call_expression "CONCAT21(uVar5,pbVar9[6])" identifier (argument_list "(uVar5,pbVar9[6])" ( identifier , (subscript_expression "pbVar9[6]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;" (assignment_expression "uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100" identifier = (binary_expression "CONCAT31(uVar6,pbVar9[7]) * 0x100" (call_expression "CONCAT31(uVar6,pbVar9[7])" identifier (argument_list "(uVar6,pbVar9[7])" ( identifier , (subscript_expression "pbVar9[7]" identifier [ number_literal ]) ))) * number_literal)) ;) (expression_statement "uVar24 = pbVar9[8] + uVar15;" (assignment_expression "uVar24 = pbVar9[8] + uVar15" identifier = (binary_expression "pbVar9[8] + uVar15" (subscript_expression "pbVar9[8]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "uVar11 = uVar24 * 0x100;" (assignment_expression "uVar11 = uVar24 * 0x100" identifier = (binary_expression "uVar24 * 0x100" identifier * number_literal)) ;) (expression_statement "uVar16 = uVar11 + pbVar9[9];" (assignment_expression "uVar16 = uVar11 + pbVar9[9]" identifier = (binary_expression "uVar11 + pbVar9[9]" identifier + (subscript_expression "pbVar9[9]" identifier [ number_literal ]))) ;) (expression_statement "uVar17 = uVar16 * 0x100;" (assignment_expression "uVar17 = uVar16 * 0x100" identifier = (binary_expression "uVar16 * 0x100" identifier * number_literal)) ;) (expression_statement "uVar18 = pbVar9[10] + uVar17;" (assignment_expression "uVar18 = pbVar9[10] + uVar17" identifier = (binary_expression "pbVar9[10] + uVar17" (subscript_expression "pbVar9[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "uVar19 = uVar18 * 0x100;" (assignment_expression "uVar19 = uVar18 * 0x100" identifier = (binary_expression "uVar18 * 0x100" identifier * number_literal)) ;) (expression_statement "local_40 = pbVar9 + 0xc;" (assignment_expression "local_40 = pbVar9 + 0xc" identifier = (binary_expression "pbVar9 + 0xc" identifier + number_literal)) ;) (expression_statement "local_3c = local_6c - 0xc;" (assignment_expression "local_3c = local_6c - 0xc" identifier = (binary_expression "local_6c - 0xc" identifier - number_literal)) ;) (expression_statement "local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);" (assignment_expression "local_38 = (uVar22 - 1) + (uint)(0xb < local_6c)" identifier = (binary_expression "(uVar22 - 1) + (uint)(0xb < local_6c)" (parenthesized_expression "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) )) + (call_expression "(uint)(0xb < local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xb < local_6c)" ( (binary_expression "0xb < local_6c" number_literal < identifier) ))))) ;) (if_statement "if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;" if (parenthesized_expression "(((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)" ( (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0" (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0" (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19)" (parenthesized_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18)" ( (binary_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18" (binary_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100" (parenthesized_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17))" ( (binary_expression "((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)" (parenthesized_expression "((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18)" ( (binary_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18" (binary_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100" (parenthesized_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9]))" ( (binary_expression "((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])" (parenthesized_expression "((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18)" ( (binary_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18" (binary_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100" (parenthesized_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15))" ( (binary_expression "((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)" (parenthesized_expression "((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)" ( (binary_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4" (binary_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100" (parenthesized_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8))" ( (binary_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" (binary_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100" (parenthesized_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8))" ( (binary_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" (binary_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100" (cast_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[5],(uint)bVar4 << 8)" identifier (argument_list "((uint)pbVar9[5],(uint)bVar4 << 8)" ( (cast_expression "(uint)pbVar9[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[5]" identifier [ number_literal ])) , (binary_expression "(uint)bVar4 << 8" (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) )))) * number_literal) + (cast_expression "(uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" identifier (argument_list "((uint)pbVar9[6],(uint)uVar5 << 8)" ( (cast_expression "(uint)pbVar9[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[6]" identifier [ number_literal ])) , (binary_expression "(uint)uVar5 << 8" (cast_expression "(uint)uVar5" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) ))))) )) * number_literal) + (cast_expression "(uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" identifier (argument_list "((uint)pbVar9[7],(uint)uVar6 << 8)" ( (cast_expression "(uint)pbVar9[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[7]" identifier [ number_literal ])) , (binary_expression "(uint)uVar6 << 8" (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) ))))) )) * number_literal) | (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + (cast_expression "(uint)CARRY4((uint)pbVar9[8],uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[8],uVar15)" identifier (argument_list "((uint)pbVar9[8],uVar15)" ( (cast_expression "(uint)pbVar9[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[8]" identifier [ number_literal ])) , identifier ))))) )) * number_literal) | (binary_expression "uVar24 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4(uVar11,(uint)pbVar9[9])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,(uint)pbVar9[9])" identifier (argument_list "(uVar11,(uint)pbVar9[9])" ( identifier , (cast_expression "(uint)pbVar9[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[9]" identifier [ number_literal ])) ))))) )) * number_literal) | (binary_expression "uVar16 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4((uint)pbVar9[10],uVar17)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[10],uVar17)" identifier (argument_list "((uint)pbVar9[10],uVar17)" ( (cast_expression "(uint)pbVar9[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[10]" identifier [ number_literal ])) , identifier ))))) )) * number_literal) | (binary_expression "uVar18 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4((uint)pbVar9[0xb],uVar19)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[0xb],uVar19)" identifier (argument_list "((uint)pbVar9[0xb],uVar19)" ( (cast_expression "(uint)pbVar9[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[0xb]" identifier [ number_literal ])) , identifier ))))) != number_literal) || (binary_expression "pbVar9[0xb] + uVar19 != 0" (binary_expression "pbVar9[0xb] + uVar19" (subscript_expression "pbVar9[0xb]" identifier [ number_literal ]) + identifier) != number_literal)) )) (goto_statement "goto LAB_00045a7f;" goto statement_identifier ;)) })) })) }) (else_clause "else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" else (compound_statement "{\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" { (expression_statement "uVar22 = FUN_0001be30(local_6c,uVar22);" (assignment_expression "uVar22 = FUN_0001be30(local_6c,uVar22)" identifier = (call_expression "FUN_0001be30(local_6c,uVar22)" identifier (argument_list "(local_6c,uVar22)" ( identifier , identifier )))) ;) (expression_statement "iVar8 = local_30;" (assignment_expression "iVar8 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }" if (parenthesized_expression "(local_30 != 1)" ( (binary_expression "local_30 != 1" identifier != number_literal) )) (compound_statement "{\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }" { (expression_statement "uVar14 = FUN_00022190();" (assignment_expression "uVar14 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);" (assignment_expression "uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5)" identifier = (call_expression "dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5)" identifier (argument_list "(0,"section \'%s\' has unsupported compress type: %d\n",5)" ( number_literal , (string_literal ""section \'%s\' has unsupported compress type: %d\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar12,uVar14,iVar8);" (call_expression "warn(uVar12,uVar14,iVar8)" identifier (argument_list "(uVar12,uVar14,iVar8)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_00045bd2:\n                local_60 = 0;" statement_identifier : (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;)) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) (goto_statement "goto LAB_00045562;" goto statement_identifier ;) })) (expression_statement "local_40 = pbVar9 + uVar22;" (assignment_expression "local_40 = pbVar9 + uVar22" identifier = (binary_expression "pbVar9 + uVar22" identifier + identifier)) ;) (expression_statement "bVar27 = local_3c < uVar22;" (assignment_expression "bVar27 = local_3c < uVar22" identifier = (binary_expression "local_3c < uVar22" identifier < identifier)) ;) (expression_statement "local_3c = local_3c - uVar22;" (assignment_expression "local_3c = local_3c - uVar22" identifier = (binary_expression "local_3c - uVar22" identifier - identifier)) ;) (expression_statement "local_38 = local_38 - bVar27;" (assignment_expression "local_38 = local_38 - bVar27" identifier = (binary_expression "local_38 - bVar27" identifier - identifier)) ;) (if_statement "if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }" if (parenthesized_expression "(local_28 != 0 || local_2c != 0)" ( (binary_expression "local_28 != 0 || local_2c != 0" (binary_expression "local_28 != 0" identifier != number_literal) || (binary_expression "local_2c != 0" identifier != number_literal)) )) (compound_statement "{\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }" { (labeled_statement "LAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);" statement_identifier : (expression_statement "iVar8 = FUN_0001d690(&local_3c);" (assignment_expression "iVar8 = FUN_0001d690(&local_3c)" identifier = (call_expression "FUN_0001d690(&local_3c)" identifier (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) )))) ;)) (if_statement "if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }" { (expression_statement "uVar14 = FUN_00022190();" (assignment_expression "uVar14 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Unable to decompress section %s\n",5)" identifier = (call_expression "dcgettext(0,"Unable to decompress section %s\n",5)" identifier (argument_list "(0,"Unable to decompress section %s\n",5)" ( number_literal , (string_literal ""Unable to decompress section %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar12,uVar14);" (call_expression "error(uVar12,uVar14)" identifier (argument_list "(uVar12,uVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00045bd2;" goto statement_identifier ;) })) (expression_statement "local_6c = local_3c;" (assignment_expression "local_6c = local_3c" identifier = identifier) ;) (expression_statement "pbVar23 = local_40;" (assignment_expression "pbVar23 = local_40" identifier = identifier) ;) })) }))) })) (expression_statement "local_40 = pbVar23;" (assignment_expression "local_40 = pbVar23" identifier = identifier) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar22 = *(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 "uVar15 = *(uint *)(param_1 + 0x5c);" (assignment_expression "uVar15 = *(uint *)(param_1 + 0x5c)" identifier = (pointer_expression "*(uint *)(param_1 + 0x5c)" * (cast_expression "(uint *)(param_1 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (for_statement "for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }" for ( (assignment_expression "uVar11 = uVar15" identifier = identifier) ; (binary_expression "uVar11 < uVar15 + uVar22 * 0x48" identifier < (binary_expression "uVar15 + uVar22 * 0x48" identifier + (binary_expression "uVar22 * 0x48" identifier * number_literal))) ; (assignment_expression "uVar11 = uVar11 + 0x48" identifier = (binary_expression "uVar11 + 0x48" identifier + number_literal)) ) (compound_statement "{\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }" { (if_statement "if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }" if (parenthesized_expression "(((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22))" ( (binary_expression "((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)" (parenthesized_expression "((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0))))" ( (binary_expression "(((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))" (parenthesized_expression "(((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22))" ( (binary_expression "((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)" (parenthesized_expression "((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9))" ( (binary_expression "(*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)" (parenthesized_expression "(*(int *)(uVar11 + 4) == 4)" ( (binary_expression "*(int *)(uVar11 + 4) == 4" (pointer_expression "*(int *)(uVar11 + 4)" * (cast_expression "(int *)(uVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 4)" ( (binary_expression "uVar11 + 4" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(uVar11 + 4) == 9)" ( (binary_expression "*(int *)(uVar11 + 4) == 9" (pointer_expression "*(int *)(uVar11 + 4)" * (cast_expression "(int *)(uVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 4)" ( (binary_expression "uVar11 + 4" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(uint *)(uVar11 + 0x2c) < uVar22)" ( (binary_expression "*(uint *)(uVar11 + 0x2c) < uVar22" (pointer_expression "*(uint *)(uVar11 + 0x2c)" * (cast_expression "(uint *)(uVar11 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x2c)" ( (binary_expression "uVar11 + 0x2c" identifier + number_literal) )))) < identifier) ))) )) && (parenthesized_expression "((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))" ( (parenthesized_expression "(local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0))" ( (binary_expression "local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)" (binary_expression "local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" identifier == (cast_expression "(uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" ( (binary_expression "uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48" identifier + (binary_expression "*(uint *)(uVar11 + 0x2c) * 0x48" (pointer_expression "*(uint *)(uVar11 + 0x2c)" * (cast_expression "(uint *)(uVar11 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x2c)" ( (binary_expression "uVar11 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) && (parenthesized_expression "(*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)" ( (binary_expression "*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0" (binary_expression "*(int *)(uVar11 + 0x24) != 0" (pointer_expression "*(int *)(uVar11 + 0x24)" * (cast_expression "(int *)(uVar11 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x24)" ( (binary_expression "uVar11 + 0x24" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(uVar11 + 0x20) != 0" (pointer_expression "*(int *)(uVar11 + 0x20)" * (cast_expression "(int *)(uVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x20)" ( (binary_expression "uVar11 + 0x20" identifier + number_literal) )))) != number_literal)) ))) )) ))) )) && (parenthesized_expression "(*(uint *)(uVar11 + 0x28) < uVar22)" ( (binary_expression "*(uint *)(uVar11 + 0x28) < uVar22" (pointer_expression "*(uint *)(uVar11 + 0x28)" * (cast_expression "(uint *)(uVar11 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x28)" ( (binary_expression "uVar11 + 0x28" identifier + number_literal) )))) < identifier) ))) )) (compound_statement "{\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }" { (expression_statement "pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" identifier (argument_list "(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" ( number_literal , (string_literal ""  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "puVar7 = PTR_stdout_000b3fd8;" (assignment_expression "puVar7 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "pbVar20 = local_40 + local_6c;" (assignment_expression "pbVar20 = local_40 + local_6c" identifier = (binary_expression "local_40 + local_6c" identifier + identifier)) ;) (expression_statement "pbVar23 = local_40;" (assignment_expression "pbVar23 = local_40" identifier = identifier) ;) (while_statement "while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }" while (parenthesized_expression "(pbVar23 < pbVar20)" ( (binary_expression "pbVar23 < pbVar20" identifier < identifier) )) (compound_statement "{\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }" { (while_statement "while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }" while (parenthesized_expression "(((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0)" ( (binary_expression "((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0" (parenthesized_expression "((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10)" ( (binary_expression "(&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10" (subscript_expression "(&DAT_000995c0)[(uint)*pbVar23 * 2]" (parenthesized_expression "(&DAT_000995c0)" ( (pointer_expression "&DAT_000995c0" & identifier) )) [ (binary_expression "(uint)*pbVar23 * 2" (binary_expression "(uint)*pbVar23" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }" { (expression_statement "pbVar23 = pbVar23 + 1;" (assignment_expression "pbVar23 = pbVar23 + 1" identifier = (binary_expression "pbVar23 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar20 == pbVar23) goto LAB_0004553c;" if (parenthesized_expression "(pbVar20 == pbVar23)" ( (binary_expression "pbVar20 == pbVar23" identifier == identifier) )) (goto_statement "goto LAB_0004553c;" goto statement_identifier ;)) })) (if_statement "if (pbVar20 <= pbVar23) break;" if (parenthesized_expression "(pbVar20 <= pbVar23)" ( (binary_expression "pbVar20 <= pbVar23" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);" (call_expression "printf("  [%6tx]  ",(int)pbVar23 - (int)local_40)" identifier (argument_list "("  [%6tx]  ",(int)pbVar23 - (int)local_40)" ( (string_literal ""  [%6tx]  "" " string_content ") , (binary_expression "(int)pbVar23 - (int)local_40" (cast_expression "(int)pbVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" if (parenthesized_expression "((int)pbVar20 - (int)pbVar23 == 0)" ( (binary_expression "(int)pbVar20 - (int)pbVar23 == 0" (binary_expression "(int)pbVar20 - (int)pbVar23" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar23" ( (type_descriptor "int" primitive_type) ) identifier)) == number_literal) )) (compound_statement "{\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>\n",5)" identifier (argument_list "(0,"<corrupt>\n",5)" ( number_literal , (string_literal ""<corrupt>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "pbVar23 = pbVar20;" (assignment_expression "pbVar23 = pbVar20" identifier = identifier) ;) }) (else_clause "else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" else (compound_statement "{\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" { (expression_statement "FUN_0001fd20();" (call_expression "FUN_0001fd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" identifier (argument_list "(10,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);" (assignment_expression "sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" identifier = (call_expression "strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" identifier (argument_list "((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" ( (cast_expression "(char *)pbVar23" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)pbVar20 - (int)pbVar23" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar23 = pbVar23 + sVar13;" (assignment_expression "pbVar23 = pbVar23 + sVar13" identifier = (binary_expression "pbVar23 + sVar13" identifier + identifier)) ;) }))) (expression_statement "bVar27 = true;" (assignment_expression "bVar27 = true" identifier = true) ;) })) (labeled_statement "LAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" statement_identifier : (if_statement "if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5)" identifier = (cast_expression "(char *)dcgettext(0,"  No strings found in this section.",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  No strings found in this section.",5)" identifier (argument_list "(0,"  No strings found in this section.",5)" ( number_literal , (string_literal ""  No strings found in this section."" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) }))) (expression_statement "free(pbVar9);" (call_expression "free(pbVar9)" identifier (argument_list "(pbVar9)" ( identifier ))) ;) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" identifier (argument_list "(10,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) }))) (labeled_statement "LAB_00045562:\n        local_60 = uVar14;" statement_identifier : (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" identifier = identifier) ;)) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) (if_statement "if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }" { (labeled_statement "LAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" statement_identifier : (if_statement "if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" if (parenthesized_expression "(*(int *)(param_1 + 100) == 0)" ( (binary_expression "*(int *)(param_1 + 100) == 0" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }" { (expression_statement "pcVar10 = "<no-strings>";" (assignment_expression "pcVar10 = "<no-strings>"" identifier = (string_literal ""<no-strings>"" " string_content ")) ;) (labeled_statement "LAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);" statement_identifier : (expression_statement "local_78 = (byte *)dcgettext(0,pcVar10,5);" (assignment_expression "local_78 = (byte *)dcgettext(0,pcVar10,5)" identifier = (cast_expression "(byte *)dcgettext(0,pcVar10,5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar10,5)" identifier (argument_list "(0,pcVar10,5)" ( number_literal , identifier , number_literal ))))) ;)) }) (else_clause "else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" else (compound_statement "{\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" { (expression_statement "local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);" (assignment_expression "local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64)" identifier = (cast_expression "(byte *)(*(int *)(param_1 + 100) + *local_64)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 100) + *local_64)" ( (binary_expression "*(int *)(param_1 + 100) + *local_64" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) + (pointer_expression "*local_64" * identifier)) )))) ;) (if_statement "if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }" if (parenthesized_expression "(*(uint *)(param_1 + 0x68) <= *local_64)" ( (binary_expression "*(uint *)(param_1 + 0x68) <= *local_64" (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) <= (pointer_expression "*local_64" * identifier)) )) (compound_statement "{\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }" { (expression_statement "pcVar10 = "<corrupt>";" (assignment_expression "pcVar10 = "<corrupt>"" identifier = (string_literal ""<corrupt>"" " string_content ")) ;) (goto_statement "goto LAB_0004592b;" goto statement_identifier ;) })) })))) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) (if_statement "if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(local_64[9] == 0 && local_64[8] == 0)" ( (binary_expression "local_64[9] == 0 && local_64[8] == 0" (binary_expression "local_64[9] == 0" (subscript_expression "local_64[9]" identifier [ number_literal ]) == number_literal) && (binary_expression "local_64[8] == 0" (subscript_expression "local_64[8]" identifier [ number_literal ]) == number_literal)) )) (compound_statement "{\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" identifier (argument_list "(0,"\nSection \'%s\' has no debugging data.\n",5)" ( number_literal , (string_literal ""\nSection \'%s\' has no debugging data.\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" identifier (argument_list "(pcVar10,uVar12)" ( identifier , identifier ))) ;) }) (else_clause "else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" else (compound_statement "{\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" { (expression_statement "bVar27 = local_64[1] < 8;" (assignment_expression "bVar27 = local_64[1] < 8" identifier = (binary_expression "local_64[1] < 8" (subscript_expression "local_64[1]" identifier [ number_literal ]) < number_literal)) ;) (expression_statement "bVar28 = local_64[1] == 8;" (assignment_expression "bVar28 = local_64[1] == 8" identifier = (binary_expression "local_64[1] == 8" (subscript_expression "local_64[1]" identifier [ number_literal ]) == number_literal)) ;) (if_statement "if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }" { (expression_statement "pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";" (assignment_expression "pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n"" identifier = (string_literal ""section \'%s\' has the NOBITS type - its contents are unreliable.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);" statement_identifier : (expression_statement "pcVar10 = (char *)dcgettext(0,pcVar10,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,pcVar10,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar10,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar10,5)" identifier (argument_list "(0,pcVar10,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" identifier (argument_list "(pcVar10,uVar12)" ( identifier , identifier ))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) }) (else_clause "else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" else (compound_statement "{\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" { (expression_statement "iVar8 = 0x11;" (assignment_expression "iVar8 = 0x11" identifier = number_literal) ;) (expression_statement "ppuVar21 = &PTR_s__debug_abbrev_000b4840;" (assignment_expression "ppuVar21 = &PTR_s__debug_abbrev_000b4840" identifier = (pointer_expression "&PTR_s__debug_abbrev_000b4840" & identifier)) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "pbVar9 = local_78;" (assignment_expression "pbVar9 = local_78" identifier = identifier) ;) (expression_statement "pbVar23 = (byte *)".gnu.linkonce.wi.";" (assignment_expression "pbVar23 = (byte *)".gnu.linkonce.wi."" identifier = (cast_expression "(byte *)".gnu.linkonce.wi."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.wi."" " string_content "))) ;) (do_statement "do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);" do (compound_statement "{\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar9 < *pbVar23;" (assignment_expression "bVar27 = *pbVar9 < *pbVar23" identifier = (binary_expression "*pbVar9 < *pbVar23" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar28 = *pbVar9 == *pbVar23;" (assignment_expression "bVar28 = *pbVar9 == *pbVar23" identifier = (binary_expression "*pbVar9 == *pbVar23" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "pbVar9 = (byte *)".debug_info";" (assignment_expression "pbVar9 = (byte *)".debug_info"" identifier = (cast_expression "(byte *)".debug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_info"" " string_content "))) ;) (if_statement "if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }" if (parenthesized_expression "((!bVar27 && !bVar28) != bVar27)" ( (binary_expression "(!bVar27 && !bVar28) != bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" ( (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) != identifier) )) (compound_statement "{\n                pbVar9 = local_78;\n              }" { (expression_statement "pbVar9 = local_78;" (assignment_expression "pbVar9 = local_78" identifier = identifier) ;) })) (while_statement "while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }" while (parenthesized_expression "(iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0)" ( (comma_expression "iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0" (assignment_expression "iVar8 = strcmp(*ppuVar21,(char *)pbVar9)" identifier = (call_expression "strcmp(*ppuVar21,(char *)pbVar9)" identifier (argument_list "(*ppuVar21,(char *)pbVar9)" ( (pointer_expression "*ppuVar21" * identifier) , (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )) (compound_statement "{\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }" { (expression_statement "bVar27 = local_6c < 4;" (assignment_expression "bVar27 = local_6c < 4" identifier = (binary_expression "local_6c < 4" identifier < number_literal)) ;) (expression_statement "bVar28 = local_6c == 4;" (assignment_expression "bVar28 = local_6c == 4" identifier = (binary_expression "local_6c == 4" identifier == number_literal)) ;) (if_statement "if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }" { (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)".debug_line.";" (assignment_expression "pbVar20 = (byte *)".debug_line."" identifier = (cast_expression "(byte *)".debug_line."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_line."" " string_content "))) ;) (do_statement "do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);" do (compound_statement "{\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar23 < *pbVar20;" (assignment_expression "bVar27 = *pbVar23 < *pbVar20" identifier = (binary_expression "*pbVar23 < *pbVar20" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar28 = *pbVar23 == *pbVar20;" (assignment_expression "bVar28 = *pbVar23 == *pbVar20" identifier = (binary_expression "*pbVar23 == *pbVar20" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (if_statement "if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;" if (parenthesized_expression "(((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0))" ( (binary_expression "((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)" (parenthesized_expression "((!bVar27 && !bVar28) == bVar27)" ( (binary_expression "(!bVar27 && !bVar28) == bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" ( (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier) )) || (parenthesized_expression "(iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)" ( (comma_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0" (assignment_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9)" identifier = (call_expression "strcmp(ppuVar21[1],(char *)pbVar9)" identifier (argument_list "(ppuVar21[1],(char *)pbVar9)" ( (subscript_expression "ppuVar21[1]" identifier [ number_literal ]) , (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) }) (else_clause "else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" else (compound_statement "{\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" { (expression_statement "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);" (assignment_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9)" identifier = (call_expression "strcmp(ppuVar21[1],(char *)pbVar9)" identifier (argument_list "(ppuVar21[1],(char *)pbVar9)" ( (subscript_expression "ppuVar21[1]" identifier [ number_literal ]) , (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }" if (parenthesized_expression "(local_6c == 0x2a)" ( (binary_expression "local_6c == 0x2a" identifier == number_literal) )) (compound_statement "{\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }" { (expression_statement "pcVar10 = "Unrecognized debug section: %s\n";" (assignment_expression "pcVar10 = "Unrecognized debug section: %s\n"" identifier = (string_literal ""Unrecognized debug section: %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00045b1b;" goto statement_identifier ;) })) }))) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) (expression_statement "ppuVar21 = ppuVar21 + 0x10;" (assignment_expression "ppuVar21 = ppuVar21 + 0x10" identifier = (binary_expression "ppuVar21 + 0x10" identifier + number_literal)) ;) })) (expression_statement "local_58 = *(uint **)(param_1 + 0x5c);" (assignment_expression "local_58 = *(uint **)(param_1 + 0x5c)" identifier = (pointer_expression "*(uint **)(param_1 + 0x5c)" * (cast_expression "(uint **)(param_1 + 0x5c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (if_statement "if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }" if (parenthesized_expression "((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58))" ( (binary_expression "(local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)" (parenthesized_expression "(local_58 == (uint *)0x0)" ( (binary_expression "local_58 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_58 = (uint *)FUN_00026450(), local_64 != local_58)" ( (comma_expression "local_58 = (uint *)FUN_00026450(), local_64 != local_58" (assignment_expression "local_58 = (uint *)FUN_00026450()" identifier = (cast_expression "(uint *)FUN_00026450()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00026450()" identifier (argument_list "()" ( ))))) , (binary_expression "local_64 != local_58" identifier != identifier)) ))) )) (compound_statement "{\n                FUN_00045060(local_6c);\n              }" { (expression_statement "FUN_00045060(local_6c);" (call_expression "FUN_00045060(local_6c)" identifier (argument_list "(local_6c)" ( identifier ))) ;) })) (expression_statement "bVar27 = local_6c < 4;" (assignment_expression "bVar27 = local_6c < 4" identifier = (binary_expression "local_6c < 4" identifier < number_literal)) ;) (expression_statement "bVar28 = local_6c == 4;" (assignment_expression "bVar28 = local_6c == 4" identifier = (binary_expression "local_6c == 4" identifier == number_literal)) ;) (if_statement "if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }" { (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)".debug_line.";" (assignment_expression "pbVar20 = (byte *)".debug_line."" identifier = (cast_expression "(byte *)".debug_line."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_line."" " string_content "))) ;) (do_statement "do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" do (compound_statement "{\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar23 < *pbVar20;" (assignment_expression "bVar27 = *pbVar23 < *pbVar20" identifier = (binary_expression "*pbVar23 < *pbVar20" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar28 = *pbVar23 == *pbVar20;" (assignment_expression "bVar28 = *pbVar23 == *pbVar20" identifier = (binary_expression "*pbVar23 == *pbVar20" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (if_statement "if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;" if (parenthesized_expression "((!bVar27 && !bVar28) != bVar27)" ( (binary_expression "(!bVar27 && !bVar28) != bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" ( (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_000456c4;" goto statement_identifier ;)) (expression_statement "ppuVar21[2] = pbVar9;" (assignment_expression "ppuVar21[2] = pbVar9" (subscript_expression "ppuVar21[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" else (compound_statement "{\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" { (labeled_statement "LAB_000456c4:\n                pcVar10 = *ppuVar21;" statement_identifier : (expression_statement "pcVar10 = *ppuVar21;" (assignment_expression "pcVar10 = *ppuVar21" identifier = (pointer_expression "*ppuVar21" * identifier)) ;)) (expression_statement "iVar8 = strcmp(pcVar10,(char *)pbVar9);" (assignment_expression "iVar8 = strcmp(pcVar10,(char *)pbVar9)" identifier = (call_expression "strcmp(pcVar10,(char *)pbVar9)" identifier (argument_list "(pcVar10,(char *)pbVar9)" ( identifier , (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                  ppuVar21[2] = pcVar10;\n                }" { (expression_statement "ppuVar21[2] = pcVar10;" (assignment_expression "ppuVar21[2] = pcVar10" (subscript_expression "ppuVar21[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                  ppuVar21[2] = ppuVar21[1];\n                }" else (compound_statement "{\n                  ppuVar21[2] = ppuVar21[1];\n                }" { (expression_statement "ppuVar21[2] = ppuVar21[1];" (assignment_expression "ppuVar21[2] = ppuVar21[1]" (subscript_expression "ppuVar21[2]" identifier [ number_literal ]) = (subscript_expression "ppuVar21[1]" identifier [ number_literal ])) ;) }))) }))) (expression_statement "iVar8 = FUN_000418c0();" (assignment_expression "iVar8 = FUN_000418c0()" identifier = (call_expression "FUN_000418c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }" { (expression_statement "DAT_000b5e68 = FUN_000623d0(param_1,local_70);" (assignment_expression "DAT_000b5e68 = FUN_000623d0(param_1,local_70)" identifier = (call_expression "FUN_000623d0(param_1,local_70)" identifier (argument_list "(param_1,local_70)" ( identifier , identifier )))) ;) (expression_statement "uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);" (assignment_expression "uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1)" identifier = (call_expression "(*(code *)ppuVar21[0xd])(ppuVar21,param_1)" (parenthesized_expression "(*(code *)ppuVar21[0xd])" ( (pointer_expression "*(code *)ppuVar21[0xd]" * (cast_expression "(code *)ppuVar21[0xd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppuVar21[0xd]" identifier [ number_literal ]))) )) (argument_list "(ppuVar21,param_1)" ( identifier , identifier )))) ;) (expression_statement "DAT_000b5e68 = 0;" (assignment_expression "DAT_000b5e68 = 0" identifier = number_literal) ;) (if_statement "if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }" if (parenthesized_expression "((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0))))" ( (binary_expression "(local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))" (parenthesized_expression "(local_64 != local_58)" ( (binary_expression "local_64 != local_58" identifier != identifier) )) || (parenthesized_expression "((local_6c != 3 && (local_6c != 0)))" ( (parenthesized_expression "(local_6c != 3 && (local_6c != 0))" ( (binary_expression "local_6c != 3 && (local_6c != 0)" (binary_expression "local_6c != 3" identifier != number_literal) && (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n                  FUN_00045060(local_6c);\n                }" { (expression_statement "FUN_00045060(local_6c);" (call_expression "FUN_00045060(local_6c)" identifier (argument_list "(local_6c)" ( identifier ))) ;) })) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }" if (parenthesized_expression "((uVar22 & 1) != 0)" ( (binary_expression "(uVar22 & 1) != 0" (parenthesized_expression "(uVar22 & 1)" ( (binary_expression "uVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar14 = local_60;\n                }" { (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) })) })) }))) }))) })) }))) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" identifier = identifier) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) (expression_statement "local_64 = local_64 + 0x12;" (assignment_expression "local_64 = local_64 + 0x12" identifier = (binary_expression "local_64 + 0x12" identifier + number_literal)) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0x70)" identifier = (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;" if (parenthesized_expression "(*(uint *)(param_1 + 0x54) <= local_70)" ( (binary_expression "*(uint *)(param_1 + 0x54) <= local_70" (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) )))) <= identifier) )) (goto_statement "goto LAB_00045884;" goto statement_identifier ;)) }) while (parenthesized_expression "(local_70 < uVar22)" ( (binary_expression "local_70 < uVar22" identifier < identifier) )) ;) })))) (return_statement "return local_60;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nbfd_boolean __regparm3 process_section_contents(Filedata *filedata)\n\n{\n  dump_list_entry **ppdVar1;\n  bfd_vma *pbVar2;\n  char **filedata_00;\n  ulong *sec;\n  byte *pbVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  byte bVar7;\n  byte bVar8;\n  Elf_Internal_Shdr *pEVar9;\n  ushort uVar10;\n  uint3 uVar11;\n  bfd_size_type size;\n  undefined *puVar12;\n  uchar *puVar13;\n  bfd_boolean bVar14;\n  bfd_boolean bVar15;\n  uchar *__ptr;\n  char *__format;\n  Elf_Internal_Shdr *pEVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  int iVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  dwarf_size_type *size_00;\n  byte *pbVar26;\n  undefined **ppuVar27;\n  byte *pbVar28;\n  uint uVar29;\n  dump_list_entry *pdVar30;\n  size_t sVar31;\n  byte *pbVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  byte *local_78;\n  uint local_70;\n  dwarf_section_display_enum local_6c;\n  Filedata *local_64;\n  bfd_boolean local_60;\n  Filedata *local_58;\n  uchar *start;\n  dwarf_size_type new_size;\n  Elf_Internal_Chdr chdr;\n  \n  bVar35 = 0;\n  local_70 = (filedata->file_header).e_shnum;\n  pdVar30 = dump_sects_byname;\n  if (dump_sects_byname != (dump_list_entry *)0x0) {\n    do {\n      bVar33 = false;\n      uVar18 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }\n      ppdVar1 = &pdVar30->next;\n      pdVar30 = *ppdVar1;\n    } while (*ppdVar1 != (dump_list_entry *)0x0);\n  }\n  local_64 = (Filedata *)filedata->section_headers;\n  local_60 = 1;\n  uVar18 = filedata->num_dump_sects;\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar18) {\n      do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);\n    }\n  }\n  else if (uVar18 != 0) {\n    local_70 = 0;\n    do {\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar18);\n  }\n  return local_60;\n}\n\n" comment (function_definition "bfd_boolean __regparm3 process_section_contents(Filedata *filedata)\n\n{\n  dump_list_entry **ppdVar1;\n  bfd_vma *pbVar2;\n  char **filedata_00;\n  ulong *sec;\n  byte *pbVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  byte bVar7;\n  byte bVar8;\n  Elf_Internal_Shdr *pEVar9;\n  ushort uVar10;\n  uint3 uVar11;\n  bfd_size_type size;\n  undefined *puVar12;\n  uchar *puVar13;\n  bfd_boolean bVar14;\n  bfd_boolean bVar15;\n  uchar *__ptr;\n  char *__format;\n  Elf_Internal_Shdr *pEVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  int iVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  dwarf_size_type *size_00;\n  byte *pbVar26;\n  undefined **ppuVar27;\n  byte *pbVar28;\n  uint uVar29;\n  dump_list_entry *pdVar30;\n  size_t sVar31;\n  byte *pbVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  byte *local_78;\n  uint local_70;\n  dwarf_section_display_enum local_6c;\n  Filedata *local_64;\n  bfd_boolean local_60;\n  Filedata *local_58;\n  uchar *start;\n  dwarf_size_type new_size;\n  Elf_Internal_Chdr chdr;\n  \n  bVar35 = 0;\n  local_70 = (filedata->file_header).e_shnum;\n  pdVar30 = dump_sects_byname;\n  if (dump_sects_byname != (dump_list_entry *)0x0) {\n    do {\n      bVar33 = false;\n      uVar18 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }\n      ppdVar1 = &pdVar30->next;\n      pdVar30 = *ppdVar1;\n    } while (*ppdVar1 != (dump_list_entry *)0x0);\n  }\n  local_64 = (Filedata *)filedata->section_headers;\n  local_60 = 1;\n  uVar18 = filedata->num_dump_sects;\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar18) {\n      do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);\n    }\n  }\n  else if (uVar18 != 0) {\n    local_70 = 0;\n    do {\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar18);\n  }\n  return local_60;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "process_section_contents(Filedata *filedata)" identifier (parameter_list "(Filedata *filedata)" ( (parameter_declaration "Filedata *filedata" type_identifier (pointer_declarator "*filedata" * identifier)) ))) (compound_statement "{\n  dump_list_entry **ppdVar1;\n  bfd_vma *pbVar2;\n  char **filedata_00;\n  ulong *sec;\n  byte *pbVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *pbVar6;\n  byte bVar7;\n  byte bVar8;\n  Elf_Internal_Shdr *pEVar9;\n  ushort uVar10;\n  uint3 uVar11;\n  bfd_size_type size;\n  undefined *puVar12;\n  uchar *puVar13;\n  bfd_boolean bVar14;\n  bfd_boolean bVar15;\n  uchar *__ptr;\n  char *__format;\n  Elf_Internal_Shdr *pEVar16;\n  char *pcVar17;\n  uint uVar18;\n  char *pcVar19;\n  int iVar20;\n  uint uVar21;\n  uint uVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  dwarf_size_type *size_00;\n  byte *pbVar26;\n  undefined **ppuVar27;\n  byte *pbVar28;\n  uint uVar29;\n  dump_list_entry *pdVar30;\n  size_t sVar31;\n  byte *pbVar32;\n  bool bVar33;\n  bool bVar34;\n  byte bVar35;\n  byte *local_78;\n  uint local_70;\n  dwarf_section_display_enum local_6c;\n  Filedata *local_64;\n  bfd_boolean local_60;\n  Filedata *local_58;\n  uchar *start;\n  dwarf_size_type new_size;\n  Elf_Internal_Chdr chdr;\n  \n  bVar35 = 0;\n  local_70 = (filedata->file_header).e_shnum;\n  pdVar30 = dump_sects_byname;\n  if (dump_sects_byname != (dump_list_entry *)0x0) {\n    do {\n      bVar33 = false;\n      uVar18 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }\n      ppdVar1 = &pdVar30->next;\n      pdVar30 = *ppdVar1;\n    } while (*ppdVar1 != (dump_list_entry *)0x0);\n  }\n  local_64 = (Filedata *)filedata->section_headers;\n  local_60 = 1;\n  uVar18 = filedata->num_dump_sects;\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar18) {\n      do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);\n    }\n  }\n  else if (uVar18 != 0) {\n    local_70 = 0;\n    do {\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar18);\n  }\n  return local_60;\n}" { (declaration "dump_list_entry **ppdVar1;" type_identifier (pointer_declarator "**ppdVar1" * (pointer_declarator "*ppdVar1" * identifier)) ;) (declaration "bfd_vma *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "char **filedata_00;" primitive_type (pointer_declarator "**filedata_00" * (pointer_declarator "*filedata_00" * identifier)) ;) (declaration "ulong *sec;" type_identifier (pointer_declarator "*sec" * identifier) ;) (declaration "byte *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "byte bVar8;" type_identifier identifier ;) (declaration "Elf_Internal_Shdr *pEVar9;" type_identifier (pointer_declarator "*pEVar9" * identifier) ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "uint3 uVar11;" type_identifier identifier ;) (declaration "bfd_size_type size;" type_identifier identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uchar *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "bfd_boolean bVar14;" type_identifier identifier ;) (declaration "bfd_boolean bVar15;" type_identifier identifier ;) (declaration "uchar *__ptr;" type_identifier (pointer_declarator "*__ptr" * identifier) ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "Elf_Internal_Shdr *pEVar16;" type_identifier (pointer_declarator "*pEVar16" * identifier) ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "dwarf_size_type *size_00;" type_identifier (pointer_declarator "*size_00" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "undefined **ppuVar27;" type_identifier (pointer_declarator "**ppuVar27" * (pointer_declarator "*ppuVar27" * identifier)) ;) (declaration "byte *pbVar28;" type_identifier (pointer_declarator "*pbVar28" * identifier) ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "dump_list_entry *pdVar30;" type_identifier (pointer_declarator "*pdVar30" * identifier) ;) (declaration "size_t sVar31;" primitive_type identifier ;) (declaration "byte *pbVar32;" type_identifier (pointer_declarator "*pbVar32" * identifier) ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "bool bVar34;" primitive_type identifier ;) (declaration "byte bVar35;" type_identifier identifier ;) (declaration "byte *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "dwarf_section_display_enum local_6c;" type_identifier identifier ;) (declaration "Filedata *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "bfd_boolean local_60;" type_identifier identifier ;) (declaration "Filedata *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "uchar *start;" type_identifier (pointer_declarator "*start" * identifier) ;) (declaration "dwarf_size_type new_size;" type_identifier identifier ;) (declaration "Elf_Internal_Chdr chdr;" type_identifier identifier ;) (expression_statement "bVar35 = 0;" (assignment_expression "bVar35 = 0" identifier = number_literal) ;) (expression_statement "local_70 = (filedata->file_header).e_shnum;" (assignment_expression "local_70 = (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 "pdVar30 = dump_sects_byname;" (assignment_expression "pdVar30 = dump_sects_byname" identifier = identifier) ;) (if_statement "if (dump_sects_byname != (dump_list_entry *)0x0) {\n    do {\n      bVar33 = false;\n      uVar18 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }\n      ppdVar1 = &pdVar30->next;\n      pdVar30 = *ppdVar1;\n    } while (*ppdVar1 != (dump_list_entry *)0x0);\n  }" if (parenthesized_expression "(dump_sects_byname != (dump_list_entry *)0x0)" ( (binary_expression "dump_sects_byname != (dump_list_entry *)0x0" identifier != (cast_expression "(dump_list_entry *)0x0" ( (type_descriptor "dump_list_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      bVar33 = false;\n      uVar18 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }\n      ppdVar1 = &pdVar30->next;\n      pdVar30 = *ppdVar1;\n    } while (*ppdVar1 != (dump_list_entry *)0x0);\n  }" { (do_statement "do {\n      bVar33 = false;\n      uVar18 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }\n      ppdVar1 = &pdVar30->next;\n      pdVar30 = *ppdVar1;\n    } while (*ppdVar1 != (dump_list_entry *)0x0);" do (compound_statement "{\n      bVar33 = false;\n      uVar18 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }\n      ppdVar1 = &pdVar30->next;\n      pdVar30 = *ppdVar1;\n    }" { (expression_statement "bVar33 = false;" (assignment_expression "bVar33 = false" identifier = false) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (if_statement "if (local_70 == 0) {\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000457c0:\n        pcVar17 = pdVar30->name;\n        pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );\n        warn(pcVar19,pcVar17);\n        local_70 = (filedata->file_header).e_shnum;\n      }" { (labeled_statement "LAB_000457c0:\n        pcVar17 = pdVar30->name;" statement_identifier : (expression_statement "pcVar17 = pdVar30->name;" (assignment_expression "pcVar17 = pdVar30->name" identifier = (field_expression "pdVar30->name" identifier -> field_identifier)) ;)) (expression_statement "pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   );" (assignment_expression "pcVar19 = (char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   )" identifier = (cast_expression "(char *)dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   )" identifier (argument_list "(0,"Section \'%s\' was not dumped because it does not exist!\n",5\n                                   )" ( number_literal , (string_literal ""Section \'%s\' was not dumped because it does not exist!\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar19,pcVar17);" (call_expression "warn(pcVar19,pcVar17)" identifier (argument_list "(pcVar19,pcVar17)" ( identifier , identifier ))) ;) (expression_statement "local_70 = (filedata->file_header).e_shnum;" (assignment_expression "local_70 = (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        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }" else (compound_statement "{\n        do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);\nLAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;\n      }" { (do_statement "do {\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        } while (uVar18 < local_70);" do (compound_statement "{\n          while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }\n          local_70 = (filedata->file_header).e_shnum;\n          uVar18 = uVar18 + 1;\n        }" { (while_statement "while( true ) {\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pcVar17 = pdVar30->name;\n            if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar20 = strcmp(pcVar19,pcVar17);\n            if (iVar20 != 0) break;\n            uVar21 = uVar18 + 1;\n            request_dump_bynumber(filedata,uVar18,pdVar30->type);\n            local_70 = (filedata->file_header).e_shnum;\n            bVar33 = true;\n            uVar18 = uVar21;\n            if (local_70 <= uVar21) goto LAB_000452ac;\n          }" { (expression_statement "pcVar17 = pdVar30->name;" (assignment_expression "pcVar17 = pdVar30->name" identifier = (field_expression "pdVar30->name" identifier -> field_identifier)) ;) (if_statement "if (filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" if (parenthesized_expression "(filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0)" ( (binary_expression "filedata->section_headers + uVar18 == (Elf_Internal_Shdr *)0x0" (binary_expression "filedata->section_headers + uVar18" (field_expression "filedata->section_headers" identifier -> field_identifier) + identifier) == (cast_expression "(Elf_Internal_Shdr *)0x0" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar19 = (char *)dcgettext(0,"<none>",5);\n            }" { (expression_statement "pcVar19 = (char *)dcgettext(0,"<none>",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"<none>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<none>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<none>",5)" identifier (argument_list "(0,"<none>",5)" ( number_literal , (string_literal ""<none>"" " string_content ") , number_literal ))))) ;) }) (else_clause "else if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" else (if_statement "if (filedata->string_table == (char *)0x0) {\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" if (parenthesized_expression "(filedata->string_table == (char *)0x0)" ( (binary_expression "filedata->string_table == (char *)0x0" (field_expression "filedata->string_table" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar19 = (char *)dcgettext(0,"<no-strings>",5);\n            }" { (expression_statement "pcVar19 = (char *)dcgettext(0,"<no-strings>",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"<no-strings>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<no-strings>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<no-strings>",5)" identifier (argument_list "(0,"<no-strings>",5)" ( number_literal , (string_literal ""<no-strings>"" " string_content ") , number_literal ))))) ;) }) (else_clause "else {\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" else (compound_statement "{\n              uVar21 = filedata->section_headers[uVar18].sh_name;\n              pcVar19 = filedata->string_table + uVar21;\n              if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" { (expression_statement "uVar21 = filedata->section_headers[uVar18].sh_name;" (assignment_expression "uVar21 = filedata->section_headers[uVar18].sh_name" identifier = (field_expression "filedata->section_headers[uVar18].sh_name" (subscript_expression "filedata->section_headers[uVar18]" (field_expression "filedata->section_headers" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "pcVar19 = filedata->string_table + uVar21;" (assignment_expression "pcVar19 = filedata->string_table + uVar21" identifier = (binary_expression "filedata->string_table + uVar21" (field_expression "filedata->string_table" identifier -> field_identifier) + identifier)) ;) (if_statement "if (filedata->string_table_length <= uVar21) {\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }" if (parenthesized_expression "(filedata->string_table_length <= uVar21)" ( (binary_expression "filedata->string_table_length <= uVar21" (field_expression "filedata->string_table_length" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n                pcVar19 = (char *)dcgettext(0,"<corrupt>",5);\n              }" { (expression_statement "pcVar19 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"<corrupt>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal ))))) ;) })) }))))) (expression_statement "iVar20 = strcmp(pcVar19,pcVar17);" (assignment_expression "iVar20 = strcmp(pcVar19,pcVar17)" identifier = (call_expression "strcmp(pcVar19,pcVar17)" identifier (argument_list "(pcVar19,pcVar17)" ( identifier , identifier )))) ;) (if_statement "if (iVar20 != 0) break;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar21 = uVar18 + 1;" (assignment_expression "uVar21 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "request_dump_bynumber(filedata,uVar18,pdVar30->type);" (call_expression "request_dump_bynumber(filedata,uVar18,pdVar30->type)" identifier (argument_list "(filedata,uVar18,pdVar30->type)" ( identifier , identifier , (field_expression "pdVar30->type" identifier -> field_identifier) ))) ;) (expression_statement "local_70 = (filedata->file_header).e_shnum;" (assignment_expression "local_70 = (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 "bVar33 = true;" (assignment_expression "bVar33 = true" identifier = true) ;) (expression_statement "uVar18 = uVar21;" (assignment_expression "uVar18 = uVar21" identifier = identifier) ;) (if_statement "if (local_70 <= uVar21) goto LAB_000452ac;" if (parenthesized_expression "(local_70 <= uVar21)" ( (binary_expression "local_70 <= uVar21" identifier <= identifier) )) (goto_statement "goto LAB_000452ac;" goto statement_identifier ;)) })) (expression_statement "local_70 = (filedata->file_header).e_shnum;" (assignment_expression "local_70 = (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 "uVar18 = uVar18 + 1;" (assignment_expression "uVar18 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 < local_70)" ( (binary_expression "uVar18 < local_70" identifier < identifier) )) ;) (labeled_statement "LAB_000452ac:\n        if (!bVar33) goto LAB_000457c0;" statement_identifier : (if_statement "if (!bVar33) goto LAB_000457c0;" if (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) (goto_statement "goto LAB_000457c0;" goto statement_identifier ;))) }))) (expression_statement "ppdVar1 = &pdVar30->next;" (assignment_expression "ppdVar1 = &pdVar30->next" identifier = (pointer_expression "&pdVar30->next" & (field_expression "pdVar30->next" identifier -> field_identifier))) ;) (expression_statement "pdVar30 = *ppdVar1;" (assignment_expression "pdVar30 = *ppdVar1" identifier = (pointer_expression "*ppdVar1" * identifier)) ;) }) while (parenthesized_expression "(*ppdVar1 != (dump_list_entry *)0x0)" ( (binary_expression "*ppdVar1 != (dump_list_entry *)0x0" (pointer_expression "*ppdVar1" * identifier) != (cast_expression "(dump_list_entry *)0x0" ( (type_descriptor "dump_list_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "local_64 = (Filedata *)filedata->section_headers;" (assignment_expression "local_64 = (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 "local_60 = 1;" (assignment_expression "local_60 = 1" identifier = number_literal) ;) (expression_statement "uVar18 = filedata->num_dump_sects;" (assignment_expression "uVar18 = filedata->num_dump_sects" identifier = (field_expression "filedata->num_dump_sects" identifier -> field_identifier)) ;) (if_statement "if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar18) {\n      do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);\n    }\n  }\n  else if (uVar18 != 0) {\n    local_70 = 0;\n    do {\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar18);\n  }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00045884:\n    if (local_70 < uVar18) {\n      do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);\n    }\n  }" { (labeled_statement "LAB_00045884:\n    if (local_70 < uVar18) {\n      do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);\n    }" statement_identifier : (if_statement "if (local_70 < uVar18) {\n      do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);\n    }" if (parenthesized_expression "(local_70 < uVar18)" ( (binary_expression "local_70 < uVar18" identifier < identifier) )) (compound_statement "{\n      do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);\n    }" { (do_statement "do {\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < filedata->num_dump_sects);" do (compound_statement "{\n        if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      }" { (if_statement "if (filedata->dump_sects[local_70] != '\0') {\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }" if (parenthesized_expression "(filedata->dump_sects[local_70] != '\0')" ( (binary_expression "filedata->dump_sects[local_70] != '\0'" (subscript_expression "filedata->dump_sects[local_70]" (field_expression "filedata->dump_sects" identifier -> field_identifier) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(pcVar17,local_70);\n          local_60 = 0;\n        }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" identifier (argument_list "(0,"Section %d was not dumped because it does not exist!\n",5)" ( number_literal , (string_literal ""Section %d was not dumped because it does not exist!\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar17,local_70);" (call_expression "warn(pcVar17,local_70)" identifier (argument_list "(pcVar17,local_70)" ( identifier , identifier ))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) })) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_70 < filedata->num_dump_sects)" ( (binary_expression "local_70 < filedata->num_dump_sects" identifier < (field_expression "filedata->num_dump_sects" identifier -> field_identifier)) )) ;) }))) }) (else_clause "else if (uVar18 != 0) {\n    local_70 = 0;\n    do {\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar18);\n  }" else (if_statement "if (uVar18 != 0) {\n    local_70 = 0;\n    do {\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar18);\n  }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n    local_70 = 0;\n    do {\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar18);\n  }" { (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar18);" do (compound_statement "{\n      bVar7 = filedata->dump_sects[local_70];\n      if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = bVar15;\n      local_70 = local_70 + 1;\n      local_64 = (Filedata *)&(local_64->file_header).e_phentsize;\n      uVar18 = filedata->num_dump_sects;\n      if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;\n    }" { (expression_statement "bVar7 = filedata->dump_sects[local_70];" (assignment_expression "bVar7 = filedata->dump_sects[local_70]" identifier = (subscript_expression "filedata->dump_sects[local_70]" (field_expression "filedata->dump_sects" identifier -> field_identifier) [ identifier ])) ;) (if_statement "if ((bVar7 & 1) == 0) {\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "((bVar7 & 1) == 0)" ( (binary_expression "(bVar7 & 1) == 0" (parenthesized_expression "(bVar7 & 1)" ( (binary_expression "bVar7 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((bVar7 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }\n      }" { (if_statement "if ((bVar7 & 0x10) == 0) goto LAB_00045314;" if (parenthesized_expression "((bVar7 & 0x10) == 0)" ( (binary_expression "(bVar7 & 0x10) == 0" (parenthesized_expression "(bVar7 & 0x10)" ( (binary_expression "bVar7 & 0x10" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00045314;" goto statement_identifier ;)) (labeled_statement "LAB_00045399:\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);" statement_identifier : (expression_statement "bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1);" (assignment_expression "bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1)" identifier = (call_expression "dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,1)" identifier (argument_list "((Elf_Internal_Shdr *)local_64,filedata,1)" ( (cast_expression "(Elf_Internal_Shdr *)local_64" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal )))) ;)) (expression_statement "bVar15 = 0;" (assignment_expression "bVar15 = 0" identifier = number_literal) ;) (if_statement "if (bVar14 != 0) {\n          bVar15 = local_60;\n        }" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (compound_statement "{\n          bVar15 = local_60;\n        }" { (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) })) (expression_statement "local_60 = bVar15;" (assignment_expression "local_60 = bVar15" identifier = identifier) ;) (if_statement "if ((bVar7 & 8) != 0) goto LAB_000453cd;" if (parenthesized_expression "((bVar7 & 8) != 0)" ( (binary_expression "(bVar7 & 8) != 0" (parenthesized_expression "(bVar7 & 8)" ( (binary_expression "bVar7 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000453cd;" goto statement_identifier ;)) (labeled_statement "LAB_00045326:\n        bVar15 = local_60;" statement_identifier : (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;)) (if_statement "if ((bVar7 & 4) != 0) {\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }" if (parenthesized_expression "((bVar7 & 4) != 0)" ( (binary_expression "(bVar7 & 4) != 0" (parenthesized_expression "(bVar7 & 4)" ( (binary_expression "bVar7 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          if (local_64 != (Filedata *)0x0) goto LAB_0004556d;\n          pcVar17 = "<none>";\n          goto LAB_0004592b;\n        }" { (if_statement "if (local_64 != (Filedata *)0x0) goto LAB_0004556d;" if (parenthesized_expression "(local_64 != (Filedata *)0x0)" ( (binary_expression "local_64 != (Filedata *)0x0" identifier != (cast_expression "(Filedata *)0x0" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004556d;" goto statement_identifier ;)) (expression_statement "pcVar17 = "<none>";" (assignment_expression "pcVar17 = "<none>"" identifier = (string_literal ""<none>"" " string_content ")) ;) (goto_statement "goto LAB_0004592b;" goto statement_identifier ;) })) }) (else_clause "else {\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);\n        bVar15 = 0;\n        if (bVar14 != 0) {\n          bVar15 = local_60;\n        }\n        local_60 = bVar15;\n        if ((bVar7 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);\n        bVar15 = local_60;\n        start = __ptr;\n        if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }\nLAB_00045562:\n        local_60 = bVar15;\n        bVar15 = local_60;\n        if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0);" (assignment_expression "bVar14 = dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0)" identifier = (call_expression "dump_section_as_bytes((Elf_Internal_Shdr *)local_64,filedata,0)" identifier (argument_list "((Elf_Internal_Shdr *)local_64,filedata,0)" ( (cast_expression "(Elf_Internal_Shdr *)local_64" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal )))) ;) (expression_statement "bVar15 = 0;" (assignment_expression "bVar15 = 0" identifier = number_literal) ;) (if_statement "if (bVar14 != 0) {\n          bVar15 = local_60;\n        }" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (compound_statement "{\n          bVar15 = local_60;\n        }" { (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) })) (expression_statement "local_60 = bVar15;" (assignment_expression "local_60 = bVar15" identifier = identifier) ;) (if_statement "if ((bVar7 & 0x10) != 0) goto LAB_00045399;" if (parenthesized_expression "((bVar7 & 0x10) != 0)" ( (binary_expression "(bVar7 & 0x10) != 0" (parenthesized_expression "(bVar7 & 0x10)" ( (binary_expression "bVar7 & 0x10" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045399;" goto statement_identifier ;)) (labeled_statement "LAB_00045314:\n        if ((bVar7 & 8) == 0) goto LAB_00045326;" statement_identifier : (if_statement "if ((bVar7 & 8) == 0) goto LAB_00045326;" if (parenthesized_expression "((bVar7 & 8) == 0)" ( (binary_expression "(bVar7 & 8) == 0" (parenthesized_expression "(bVar7 & 8)" ( (binary_expression "bVar7 & 8" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00045326;" goto statement_identifier ;))) (labeled_statement "LAB_000453cd:\n        __ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);" statement_identifier : (expression_statement "__ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata);" (assignment_expression "__ptr = (uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata)" identifier = (cast_expression "(uchar *)get_section_contents((Elf_Internal_Shdr *)local_64,filedata)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "get_section_contents((Elf_Internal_Shdr *)local_64,filedata)" identifier (argument_list "((Elf_Internal_Shdr *)local_64,filedata)" ( (cast_expression "(Elf_Internal_Shdr *)local_64" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))))) ;)) (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) (expression_statement "start = __ptr;" (assignment_expression "start = __ptr" identifier = identifier) ;) (if_statement "if (__ptr == (uchar *)0x0) {\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }\n        else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }" if (parenthesized_expression "(__ptr == (uchar *)0x0)" ( (binary_expression "__ptr == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }\n        }" { (if_statement "if ((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)) {\n            bVar15 = local_60;\n          }" if (parenthesized_expression "((*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8))" ( (binary_expression "(*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0) &&\n             (bVar15 = 0, local_64->handle == (FILE *)0x8)" (parenthesized_expression "(*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0)" ( (binary_expression "*(int *)((int)&(local_64->file_header).e_entry + 4) != 0 ||\n               (int)(local_64->file_header).e_entry != 0" (binary_expression "*(int *)((int)&(local_64->file_header).e_entry + 4) != 0" (pointer_expression "*(int *)((int)&(local_64->file_header).e_entry + 4)" * (cast_expression "(int *)((int)&(local_64->file_header).e_entry + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_64->file_header).e_entry + 4)" ( (binary_expression "(int)&(local_64->file_header).e_entry + 4" (cast_expression "(int)&(local_64->file_header).e_entry" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_64->file_header).e_entry" & (field_expression "(local_64->file_header).e_entry" (parenthesized_expression "(local_64->file_header)" ( (field_expression "local_64->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) != number_literal) || (binary_expression "(int)(local_64->file_header).e_entry != 0" (cast_expression "(int)(local_64->file_header).e_entry" ( (type_descriptor "int" primitive_type) ) (field_expression "(local_64->file_header).e_entry" (parenthesized_expression "(local_64->file_header)" ( (field_expression "local_64->file_header" identifier -> field_identifier) )) . field_identifier)) != number_literal)) )) && (parenthesized_expression "(bVar15 = 0, local_64->handle == (FILE *)0x8)" ( (comma_expression "bVar15 = 0, local_64->handle == (FILE *)0x8" (assignment_expression "bVar15 = 0" identifier = number_literal) , (binary_expression "local_64->handle == (FILE *)0x8" (field_expression "local_64->handle" identifier -> field_identifier) == (cast_expression "(FILE *)0x8" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n            bVar15 = local_60;\n          }" { (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) })) }) (else_clause "else {\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }" else (compound_statement "{\n          pbVar2 = &(local_64->file_header).e_entry;\n          local_6c = (dwarf_section_display_enum)*pbVar2;\n          pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);\n          size = *pbVar2;\n          filedata_00 = &filedata->string_table;\n          sec = &filedata->string_table_length;\n          pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n          __format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(__format);\n          puVar13 = start;\n          if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }\n          start = puVar13;\n          uVar18 = (filedata->file_header).e_shnum;\n          pEVar9 = filedata->section_headers;\n          for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }\n          puVar12 = PTR_stdout_000b3fd8;\n          bVar33 = false;\n          pbVar26 = start + local_6c;\n          pbVar28 = start;\n          while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }\nLAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }\n          free(__ptr);\n          putc(10,*(FILE **)puVar12);\n        }" { (expression_statement "pbVar2 = &(local_64->file_header).e_entry;" (assignment_expression "pbVar2 = &(local_64->file_header).e_entry" identifier = (pointer_expression "&(local_64->file_header).e_entry" & (field_expression "(local_64->file_header).e_entry" (parenthesized_expression "(local_64->file_header)" ( (field_expression "local_64->file_header" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "local_6c = (dwarf_section_display_enum)*pbVar2;" (assignment_expression "local_6c = (dwarf_section_display_enum)*pbVar2" identifier = (binary_expression "(dwarf_section_display_enum)*pbVar2" (parenthesized_expression "(dwarf_section_display_enum)" ( identifier )) * identifier)) ;) (expression_statement "pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4);" (assignment_expression "pcVar17 = *(char **)((int)&(local_64->file_header).e_entry + 4)" identifier = (pointer_expression "*(char **)((int)&(local_64->file_header).e_entry + 4)" * (cast_expression "(char **)((int)&(local_64->file_header).e_entry + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(local_64->file_header).e_entry + 4)" ( (binary_expression "(int)&(local_64->file_header).e_entry + 4" (cast_expression "(int)&(local_64->file_header).e_entry" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_64->file_header).e_entry" & (field_expression "(local_64->file_header).e_entry" (parenthesized_expression "(local_64->file_header)" ( (field_expression "local_64->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "size = *pbVar2;" (assignment_expression "size = *pbVar2" identifier = (pointer_expression "*pbVar2" * identifier)) ;) (expression_statement "filedata_00 = &filedata->string_table;" (assignment_expression "filedata_00 = &filedata->string_table" identifier = (pointer_expression "&filedata->string_table" & (field_expression "filedata->string_table" identifier -> field_identifier))) ;) (expression_statement "sec = &filedata->string_table_length;" (assignment_expression "sec = &filedata->string_table_length" identifier = (pointer_expression "&filedata->string_table_length" & (field_expression "filedata->string_table_length" identifier -> field_identifier))) ;) (expression_statement "pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);" (assignment_expression "pcVar19 = printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" identifier = (call_expression "printable_section_name\n                              ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" identifier (argument_list "((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" ( (cast_expression "(Filedata *)filedata_00" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Elf_Internal_Shdr *)sec" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "__format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);" (assignment_expression "__format = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nString dump of section \'%s\':\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nString dump of section \'%s\':\n",5)" identifier (argument_list "(0,"\nString dump of section \'%s\':\n",5)" ( number_literal , (string_literal ""\nString dump of section \'%s\':\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(__format);" (call_expression "printf(__format)" identifier (argument_list "(__format)" ( identifier ))) ;) (expression_statement "puVar13 = start;" (assignment_expression "puVar13 = start" identifier = identifier) ;) (if_statement "if (decompress_dumps != 0) {\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }" if (parenthesized_expression "(decompress_dumps != 0)" ( (binary_expression "decompress_dumps != 0" identifier != number_literal) )) (compound_statement "{\n            puVar13 = __ptr;\n            new_size._0_4_ = local_6c;\n            new_size._4_4_ = pcVar17;\n            if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }\n          }" { (expression_statement "puVar13 = __ptr;" (assignment_expression "puVar13 = __ptr" identifier = identifier) ;) (expression_statement "new_size._0_4_ = local_6c;" (assignment_expression "new_size._0_4_ = local_6c" (field_expression "new_size._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "new_size._4_4_ = pcVar17;" (assignment_expression "new_size._4_4_ = pcVar17" (field_expression "new_size._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if ((local_64->file_size & 0x800) == 0) {\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }" if (parenthesized_expression "((local_64->file_size & 0x800) == 0)" ( (binary_expression "(local_64->file_size & 0x800) == 0" (parenthesized_expression "(local_64->file_size & 0x800)" ( (binary_expression "local_64->file_size & 0x800" (field_expression "local_64->file_size" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);\n              bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);\n              if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }" { (expression_statement "bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c);" (assignment_expression "bVar33 = pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c)" identifier = (binary_expression "pcVar17 != (char *)0x0 || (uint)-(int)pcVar17 < (uint)(0xc < local_6c)" (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "(uint)-(int)pcVar17 < (uint)(0xc < local_6c)" (binary_expression "(uint)-(int)pcVar17" (parenthesized_expression "(uint)" ( identifier )) - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) < (call_expression "(uint)(0xc < local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xc < local_6c)" ( (binary_expression "0xc < local_6c" number_literal < identifier) )))))) ;) (expression_statement "bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c);" (assignment_expression "bVar34 = -(int)pcVar17 == (uint)(0xc < local_6c)" identifier = (binary_expression "-(int)pcVar17 == (uint)(0xc < local_6c)" (unary_expression "-(int)pcVar17" - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) == (call_expression "(uint)(0xc < local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xc < local_6c)" ( (binary_expression "0xc < local_6c" number_literal < identifier) ))))) ;) (if_statement "if (bVar33) {\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }" if (parenthesized_expression "(bVar33)" ( identifier )) (compound_statement "{\n                iVar20 = 5;\n                pbVar28 = start;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }\n              }" { (expression_statement "iVar20 = 5;" (assignment_expression "iVar20 = 5" identifier = number_literal) ;) (expression_statement "pbVar28 = start;" (assignment_expression "pbVar28 = start" identifier = identifier) ;) (expression_statement "pbVar26 = &DAT_0007d05f;" (assignment_expression "pbVar26 = &DAT_0007d05f" identifier = (pointer_expression "&DAT_0007d05f" & identifier)) ;) (do_statement "do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);" do (compound_statement "{\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar28 < *pbVar26;\n                  bVar34 = *pbVar28 == *pbVar26;\n                  pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar28 < *pbVar26;" (assignment_expression "bVar33 = *pbVar28 < *pbVar26" identifier = (binary_expression "*pbVar28 < *pbVar26" (pointer_expression "*pbVar28" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar34 = *pbVar28 == *pbVar26;" (assignment_expression "bVar34 = *pbVar28 == *pbVar26" identifier = (binary_expression "*pbVar28 == *pbVar26" (pointer_expression "*pbVar28" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar28 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (if_statement "if ((!bVar33 && !bVar34) == bVar33) {\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }" if (parenthesized_expression "((!bVar33 && !bVar34) == bVar33)" ( (binary_expression "(!bVar33 && !bVar34) == bVar33" (parenthesized_expression "(!bVar33 && !bVar34)" ( (binary_expression "!bVar33 && !bVar34" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier) )) (compound_statement "{\n                  bVar8 = start[4];\n                  pbVar28 = start + 5;\n                  uVar10 = CONCAT11(bVar8,*pbVar28);\n                  pbVar26 = start + 6;\n                  uVar11 = CONCAT21(uVar10,*pbVar26);\n                  pbVar32 = start + 7;\n                  uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;\n                  pbVar3 = start + 8;\n                  uVar29 = *pbVar3 + uVar18;\n                  uVar21 = uVar29 * 0x100;\n                  pbVar4 = start + 9;\n                  uVar22 = uVar21 + *pbVar4;\n                  uVar23 = uVar22 * 0x100;\n                  pbVar5 = start + 10;\n                  uVar24 = *pbVar5 + uVar23;\n                  uVar25 = uVar24 * 0x100;\n                  pbVar6 = start + 0xb;\n                  size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);\n                  start = start + 0xc;\n                  new_size._0_4_ = local_6c - 0xc;\n                  new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);\n                  pcVar17 = pcVar19;\n                  if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;\n                }" { (expression_statement "bVar8 = start[4];" (assignment_expression "bVar8 = start[4]" identifier = (subscript_expression "start[4]" identifier [ number_literal ])) ;) (expression_statement "pbVar28 = start + 5;" (assignment_expression "pbVar28 = start + 5" identifier = (binary_expression "start + 5" identifier + number_literal)) ;) (expression_statement "uVar10 = CONCAT11(bVar8,*pbVar28);" (assignment_expression "uVar10 = CONCAT11(bVar8,*pbVar28)" identifier = (call_expression "CONCAT11(bVar8,*pbVar28)" identifier (argument_list "(bVar8,*pbVar28)" ( identifier , (pointer_expression "*pbVar28" * identifier) )))) ;) (expression_statement "pbVar26 = start + 6;" (assignment_expression "pbVar26 = start + 6" identifier = (binary_expression "start + 6" identifier + number_literal)) ;) (expression_statement "uVar11 = CONCAT21(uVar10,*pbVar26);" (assignment_expression "uVar11 = CONCAT21(uVar10,*pbVar26)" identifier = (call_expression "CONCAT21(uVar10,*pbVar26)" identifier (argument_list "(uVar10,*pbVar26)" ( identifier , (pointer_expression "*pbVar26" * identifier) )))) ;) (expression_statement "pbVar32 = start + 7;" (assignment_expression "pbVar32 = start + 7" identifier = (binary_expression "start + 7" identifier + number_literal)) ;) (expression_statement "uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100;" (assignment_expression "uVar18 = CONCAT31(uVar11,*pbVar32) * 0x100" identifier = (binary_expression "CONCAT31(uVar11,*pbVar32) * 0x100" (call_expression "CONCAT31(uVar11,*pbVar32)" identifier (argument_list "(uVar11,*pbVar32)" ( identifier , (pointer_expression "*pbVar32" * identifier) ))) * number_literal)) ;) (expression_statement "pbVar3 = start + 8;" (assignment_expression "pbVar3 = start + 8" identifier = (binary_expression "start + 8" identifier + number_literal)) ;) (expression_statement "uVar29 = *pbVar3 + uVar18;" (assignment_expression "uVar29 = *pbVar3 + uVar18" identifier = (binary_expression "*pbVar3 + uVar18" (pointer_expression "*pbVar3" * identifier) + identifier)) ;) (expression_statement "uVar21 = uVar29 * 0x100;" (assignment_expression "uVar21 = uVar29 * 0x100" identifier = (binary_expression "uVar29 * 0x100" identifier * number_literal)) ;) (expression_statement "pbVar4 = start + 9;" (assignment_expression "pbVar4 = start + 9" identifier = (binary_expression "start + 9" identifier + number_literal)) ;) (expression_statement "uVar22 = uVar21 + *pbVar4;" (assignment_expression "uVar22 = uVar21 + *pbVar4" identifier = (binary_expression "uVar21 + *pbVar4" identifier + (pointer_expression "*pbVar4" * identifier))) ;) (expression_statement "uVar23 = uVar22 * 0x100;" (assignment_expression "uVar23 = uVar22 * 0x100" identifier = (binary_expression "uVar22 * 0x100" identifier * number_literal)) ;) (expression_statement "pbVar5 = start + 10;" (assignment_expression "pbVar5 = start + 10" identifier = (binary_expression "start + 10" identifier + number_literal)) ;) (expression_statement "uVar24 = *pbVar5 + uVar23;" (assignment_expression "uVar24 = *pbVar5 + uVar23" identifier = (binary_expression "*pbVar5 + uVar23" (pointer_expression "*pbVar5" * identifier) + identifier)) ;) (expression_statement "uVar25 = uVar24 * 0x100;" (assignment_expression "uVar25 = uVar24 * 0x100" identifier = (binary_expression "uVar24 * 0x100" identifier * number_literal)) ;) (expression_statement "pbVar6 = start + 0xb;" (assignment_expression "pbVar6 = start + 0xb" identifier = (binary_expression "start + 0xb" identifier + number_literal)) ;) (expression_statement "size_00 = (dwarf_size_type *)(*pbVar6 + uVar25);" (assignment_expression "size_00 = (dwarf_size_type *)(*pbVar6 + uVar25)" identifier = (cast_expression "(dwarf_size_type *)(*pbVar6 + uVar25)" ( (type_descriptor "dwarf_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*pbVar6 + uVar25)" ( (binary_expression "*pbVar6 + uVar25" (pointer_expression "*pbVar6" * identifier) + identifier) )))) ;) (expression_statement "start = start + 0xc;" (assignment_expression "start = start + 0xc" identifier = (binary_expression "start + 0xc" identifier + number_literal)) ;) (expression_statement "new_size._0_4_ = local_6c - 0xc;" (assignment_expression "new_size._0_4_ = local_6c - 0xc" (field_expression "new_size._0_4_" identifier . field_identifier) = (binary_expression "local_6c - 0xc" identifier - number_literal)) ;) (expression_statement "new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1);" (assignment_expression "new_size._4_4_ = pcVar17 + ((0xb < local_6c) - 1)" (field_expression "new_size._4_4_" identifier . field_identifier) = (binary_expression "pcVar17 + ((0xb < local_6c) - 1)" identifier + (parenthesized_expression "((0xb < local_6c) - 1)" ( (binary_expression "(0xb < local_6c) - 1" (parenthesized_expression "(0xb < local_6c)" ( (binary_expression "0xb < local_6c" number_literal < identifier) )) - number_literal) )))) ;) (expression_statement "pcVar17 = pcVar19;" (assignment_expression "pcVar17 = pcVar19" identifier = identifier) ;) (if_statement "if (((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)\n                  goto LAB_00045a7f;" if (parenthesized_expression "(((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0)" ( (binary_expression "((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0 || size_00 != (dwarf_size_type *)0x0" (binary_expression "((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25) != 0" (binary_expression "((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18) +\n                      (uint)CARRY4((uint)*pbVar6,uVar25)" (parenthesized_expression "((((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18)" ( (binary_expression "(((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100 | uVar24 >> 0x18" (binary_expression "(((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)) * 0x100" (parenthesized_expression "(((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23))" ( (binary_expression "((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18) +\n                       (uint)CARRY4((uint)*pbVar5,uVar23)" (parenthesized_expression "((((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18)" ( (binary_expression "(((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100 | uVar22 >> 0x18" (binary_expression "(((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)) * 0x100" (parenthesized_expression "(((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4))" ( (binary_expression "((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18) +\n                         (uint)CARRY4(uVar21,(uint)*pbVar4)" (parenthesized_expression "((((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18)" ( (binary_expression "(((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100 | uVar29 >> 0x18" (binary_expression "(((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)) * 0x100" (parenthesized_expression "(((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18))" ( (binary_expression "((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)\n                           + (uint)CARRY4((uint)*pbVar3,uVar18)" (parenthesized_expression "((((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8)" ( (binary_expression "(((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100 | (uint)bVar8" (binary_expression "(((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)) * 0x100" (parenthesized_expression "(((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8))" ( (binary_expression "((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)" (binary_expression "((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)) * 0x100" (parenthesized_expression "((uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8))" ( (binary_expression "(uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100 +\n                              (uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)" (binary_expression "(uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8) * 0x100" (cast_expression "(uint)CARRY4((uint)*pbVar28,(uint)bVar8 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)*pbVar28,(uint)bVar8 << 8)" identifier (argument_list "((uint)*pbVar28,(uint)bVar8 << 8)" ( (binary_expression "(uint)*pbVar28" (parenthesized_expression "(uint)" ( identifier )) * identifier) , (binary_expression "(uint)bVar8 << 8" (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) )))) * number_literal) + (cast_expression "(uint)CARRY4((uint)*pbVar26,(uint)uVar10 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)*pbVar26,(uint)uVar10 << 8)" identifier (argument_list "((uint)*pbVar26,(uint)uVar10 << 8)" ( (binary_expression "(uint)*pbVar26" (parenthesized_expression "(uint)" ( identifier )) * identifier) , (binary_expression "(uint)uVar10 << 8" (cast_expression "(uint)uVar10" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) ))))) )) * number_literal) + (cast_expression "(uint)CARRY4((uint)*pbVar32,(uint)uVar11 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)*pbVar32,(uint)uVar11 << 8)" identifier (argument_list "((uint)*pbVar32,(uint)uVar11 << 8)" ( (binary_expression "(uint)*pbVar32" (parenthesized_expression "(uint)" ( identifier )) * identifier) , (binary_expression "(uint)uVar11 << 8" (cast_expression "(uint)uVar11" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) ))))) )) * number_literal) | (cast_expression "(uint)bVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + (cast_expression "(uint)CARRY4((uint)*pbVar3,uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)*pbVar3,uVar18)" identifier (argument_list "((uint)*pbVar3,uVar18)" ( (binary_expression "(uint)*pbVar3" (parenthesized_expression "(uint)" ( identifier )) * identifier) , identifier ))))) )) * number_literal) | (binary_expression "uVar29 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4(uVar21,(uint)*pbVar4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar21,(uint)*pbVar4)" identifier (argument_list "(uVar21,(uint)*pbVar4)" ( identifier , (binary_expression "(uint)*pbVar4" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))))) )) * number_literal) | (binary_expression "uVar22 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4((uint)*pbVar5,uVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)*pbVar5,uVar23)" identifier (argument_list "((uint)*pbVar5,uVar23)" ( (binary_expression "(uint)*pbVar5" (parenthesized_expression "(uint)" ( identifier )) * identifier) , identifier ))))) )) * number_literal) | (binary_expression "uVar24 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4((uint)*pbVar6,uVar25)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)*pbVar6,uVar25)" identifier (argument_list "((uint)*pbVar6,uVar25)" ( (binary_expression "(uint)*pbVar6" (parenthesized_expression "(uint)" ( identifier )) * identifier) , identifier ))))) != number_literal) || (binary_expression "size_00 != (dwarf_size_type *)0x0" identifier != (cast_expression "(dwarf_size_type *)0x0" ( (type_descriptor "dwarf_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (goto_statement "goto LAB_00045a7f;" goto statement_identifier ;)) })) })) }) (else_clause "else {\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }" else (compound_statement "{\n              uVar21 = get_compression_header(&chdr,start,size);\n              uVar18 = chdr.ch_type;\n              if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }\n              start = start + uVar21;\n              bVar33 = (uint)new_size < uVar21;\n              new_size._0_4_ = (uint)new_size - uVar21;\n              new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;\n              size_00 = (dwarf_size_type *)chdr.ch_size;\n              if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }\n            }" { (expression_statement "uVar21 = get_compression_header(&chdr,start,size);" (assignment_expression "uVar21 = get_compression_header(&chdr,start,size)" identifier = (call_expression "get_compression_header(&chdr,start,size)" identifier (argument_list "(&chdr,start,size)" ( (pointer_expression "&chdr" & identifier) , identifier , identifier )))) ;) (expression_statement "uVar18 = chdr.ch_type;" (assignment_expression "uVar18 = chdr.ch_type" identifier = (field_expression "chdr.ch_type" identifier . field_identifier)) ;) (if_statement "if (chdr.ch_type != 1) {\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }" if (parenthesized_expression "(chdr.ch_type != 1)" ( (binary_expression "chdr.ch_type != 1" (field_expression "chdr.ch_type" identifier . field_identifier) != number_literal) )) (compound_statement "{\n                pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );\n                warn(pcVar19,pcVar17,uVar18);\nLAB_00045bd2:\n                local_60 = 0;\n                bVar15 = local_60;\n                goto LAB_00045562;\n              }" { (expression_statement "pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);" (assignment_expression "pcVar17 = printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" identifier = (call_expression "printable_section_name\n                                    ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" identifier (argument_list "((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" ( (cast_expression "(Filedata *)filedata_00" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Elf_Internal_Shdr *)sec" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           );" (assignment_expression "pcVar19 = (char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           )" identifier = (cast_expression "(char *)dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           )" identifier (argument_list "(0,"section \'%s\' has unsupported compress type: %d\n",5\n                                           )" ( number_literal , (string_literal ""section \'%s\' has unsupported compress type: %d\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar19,pcVar17,uVar18);" (call_expression "warn(pcVar19,pcVar17,uVar18)" identifier (argument_list "(pcVar19,pcVar17,uVar18)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_00045bd2:\n                local_60 = 0;" statement_identifier : (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;)) (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) (goto_statement "goto LAB_00045562;" goto statement_identifier ;) })) (expression_statement "start = start + uVar21;" (assignment_expression "start = start + uVar21" identifier = (binary_expression "start + uVar21" identifier + identifier)) ;) (expression_statement "bVar33 = (uint)new_size < uVar21;" (assignment_expression "bVar33 = (uint)new_size < uVar21" identifier = (binary_expression "(uint)new_size < uVar21" (cast_expression "(uint)new_size" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier)) ;) (expression_statement "new_size._0_4_ = (uint)new_size - uVar21;" (assignment_expression "new_size._0_4_ = (uint)new_size - uVar21" (field_expression "new_size._0_4_" identifier . field_identifier) = (binary_expression "(uint)new_size - uVar21" (cast_expression "(uint)new_size" ( (type_descriptor "uint" type_identifier) ) identifier) - identifier)) ;) (expression_statement "new_size._4_4_ = new_size._4_4_ + -(uint)bVar33;" (assignment_expression "new_size._4_4_ = new_size._4_4_ + -(uint)bVar33" (field_expression "new_size._4_4_" identifier . field_identifier) = (binary_expression "new_size._4_4_ + -(uint)bVar33" (field_expression "new_size._4_4_" identifier . field_identifier) + (unary_expression "-(uint)bVar33" - (cast_expression "(uint)bVar33" ( (type_descriptor "uint" type_identifier) ) identifier)))) ;) (expression_statement "size_00 = (dwarf_size_type *)chdr.ch_size;" (assignment_expression "size_00 = (dwarf_size_type *)chdr.ch_size" identifier = (cast_expression "(dwarf_size_type *)chdr.ch_size" ( (type_descriptor "dwarf_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "chdr.ch_size" identifier . field_identifier))) ;) (if_statement "if (chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0) {\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }" if (parenthesized_expression "(chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0)" ( (binary_expression "chdr.ch_size._4_4_ != 0 ||\n                  (dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0" (binary_expression "chdr.ch_size._4_4_ != 0" (field_expression "chdr.ch_size._4_4_" (field_expression "chdr.ch_size" identifier . field_identifier) . field_identifier) != number_literal) || (binary_expression "(dwarf_size_type *)chdr.ch_size != (dwarf_size_type *)0x0" (cast_expression "(dwarf_size_type *)chdr.ch_size" ( (type_descriptor "dwarf_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "chdr.ch_size" identifier . field_identifier)) != (cast_expression "(dwarf_size_type *)0x0" ( (type_descriptor "dwarf_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\nLAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);\n                if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }\n                local_6c = (uint)new_size;\n                puVar13 = start;\n              }" { (labeled_statement "LAB_00045a7f:\n                bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);" statement_identifier : (expression_statement "bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00);" (assignment_expression "bVar14 = uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00)" identifier = (call_expression "uncompress_section_contents(&start,CONCAT44(pcVar17,&new_size),size_00)" identifier (argument_list "(&start,CONCAT44(pcVar17,&new_size),size_00)" ( (pointer_expression "&start" & identifier) , (call_expression "CONCAT44(pcVar17,&new_size)" identifier (argument_list "(pcVar17,&new_size)" ( identifier , (pointer_expression "&new_size" & identifier) ))) , identifier )))) ;)) (if_statement "if (bVar14 == 0) {\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (compound_statement "{\n                  pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);\n                  pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(pcVar19,pcVar17);\n                  goto LAB_00045bd2;\n                }" { (expression_statement "pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64);" (assignment_expression "pcVar17 = printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" identifier = (call_expression "printable_section_name\n                                      ((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" identifier (argument_list "((Filedata *)filedata_00,(Elf_Internal_Shdr *)sec,local_64)" ( (cast_expression "(Filedata *)filedata_00" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Elf_Internal_Shdr *)sec" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"Unable to decompress section %s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Unable to decompress section %s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Unable to decompress section %s\n",5)" identifier (argument_list "(0,"Unable to decompress section %s\n",5)" ( number_literal , (string_literal ""Unable to decompress section %s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar19,pcVar17);" (call_expression "error(pcVar19,pcVar17)" identifier (argument_list "(pcVar19,pcVar17)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00045bd2;" goto statement_identifier ;) })) (expression_statement "local_6c = (uint)new_size;" (assignment_expression "local_6c = (uint)new_size" identifier = (cast_expression "(uint)new_size" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar13 = start;" (assignment_expression "puVar13 = start" identifier = identifier) ;) })) }))) })) (expression_statement "start = puVar13;" (assignment_expression "start = puVar13" identifier = identifier) ;) (expression_statement "uVar18 = (filedata->file_header).e_shnum;" (assignment_expression "uVar18 = (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 "pEVar9 = filedata->section_headers;" (assignment_expression "pEVar9 = filedata->section_headers" identifier = (field_expression "filedata->section_headers" identifier -> field_identifier)) ;) (for_statement "for (pEVar16 = pEVar9; pEVar16 < pEVar9 + uVar18; pEVar16 = pEVar16 + 1) {\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }" for ( (assignment_expression "pEVar16 = pEVar9" identifier = identifier) ; (binary_expression "pEVar16 < pEVar9 + uVar18" identifier < (binary_expression "pEVar9 + uVar18" identifier + identifier)) ; (assignment_expression "pEVar16 = pEVar16 + 1" identifier = (binary_expression "pEVar16 + 1" identifier + number_literal)) ) (compound_statement "{\n            if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }\n          }" { (if_statement "if (((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)) {\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }" if (parenthesized_expression "(((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18))" ( (binary_expression "((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))) &&\n               (pEVar16->sh_link < uVar18)" (parenthesized_expression "((((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0))))" ( (binary_expression "(((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)) &&\n                ((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))" (parenthesized_expression "(((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18))" ( (binary_expression "((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)) &&\n                 (pEVar16->sh_info < uVar18)" (parenthesized_expression "((pEVar16->sh_type == 4) || (pEVar16->sh_type == 9))" ( (binary_expression "(pEVar16->sh_type == 4) || (pEVar16->sh_type == 9)" (parenthesized_expression "(pEVar16->sh_type == 4)" ( (binary_expression "pEVar16->sh_type == 4" (field_expression "pEVar16->sh_type" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(pEVar16->sh_type == 9)" ( (binary_expression "pEVar16->sh_type == 9" (field_expression "pEVar16->sh_type" identifier -> field_identifier) == number_literal) ))) )) && (parenthesized_expression "(pEVar16->sh_info < uVar18)" ( (binary_expression "pEVar16->sh_info < uVar18" (field_expression "pEVar16->sh_info" identifier -> field_identifier) < identifier) ))) )) && (parenthesized_expression "((local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)))" ( (parenthesized_expression "(local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0))" ( (binary_expression "local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info) &&\n                 (*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)" (binary_expression "local_64 == (Filedata *)(pEVar9 + pEVar16->sh_info)" identifier == (cast_expression "(Filedata *)(pEVar9 + pEVar16->sh_info)" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar9 + pEVar16->sh_info)" ( (binary_expression "pEVar9 + pEVar16->sh_info" identifier + (field_expression "pEVar16->sh_info" identifier -> field_identifier)) )))) && (parenthesized_expression "(*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0)" ( (binary_expression "*(int *)((int)&pEVar16->sh_size + 4) != 0 || (int)pEVar16->sh_size != 0" (binary_expression "*(int *)((int)&pEVar16->sh_size + 4) != 0" (pointer_expression "*(int *)((int)&pEVar16->sh_size + 4)" * (cast_expression "(int *)((int)&pEVar16->sh_size + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar16->sh_size + 4)" ( (binary_expression "(int)&pEVar16->sh_size + 4" (cast_expression "(int)&pEVar16->sh_size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar16->sh_size" & (field_expression "pEVar16->sh_size" identifier -> field_identifier))) + number_literal) )))) != number_literal) || (binary_expression "(int)pEVar16->sh_size != 0" (cast_expression "(int)pEVar16->sh_size" ( (type_descriptor "int" primitive_type) ) (field_expression "pEVar16->sh_size" identifier -> field_identifier)) != number_literal)) ))) )) ))) )) && (parenthesized_expression "(pEVar16->sh_link < uVar18)" ( (binary_expression "pEVar16->sh_link < uVar18" (field_expression "pEVar16->sh_link" identifier -> field_identifier) < identifier) ))) )) (compound_statement "{\n              pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar17);\n              break;\n            }" { (expression_statement "pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" identifier (argument_list "(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" ( number_literal , (string_literal ""  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar17);" (call_expression "printf(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "puVar12 = PTR_stdout_000b3fd8;" (assignment_expression "puVar12 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "bVar33 = false;" (assignment_expression "bVar33 = false" identifier = false) ;) (expression_statement "pbVar26 = start + local_6c;" (assignment_expression "pbVar26 = start + local_6c" identifier = (binary_expression "start + local_6c" identifier + identifier)) ;) (expression_statement "pbVar28 = start;" (assignment_expression "pbVar28 = start" identifier = identifier) ;) (while_statement "while (pbVar28 < pbVar26) {\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }" while (parenthesized_expression "(pbVar28 < pbVar26)" ( (binary_expression "pbVar28 < pbVar26" identifier < identifier) )) (compound_statement "{\n            while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }\n            if (pbVar26 <= pbVar28) break;\n            sVar31 = (int)pbVar26 - (int)pbVar28;\n            printf("  [%6tx]  ",(int)pbVar28 - (int)start);\n            if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }\n            bVar33 = true;\n          }" { (while_statement "while ((_sch_istable[*pbVar28] & 0x10) == 0) {\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }" while (parenthesized_expression "((_sch_istable[*pbVar28] & 0x10) == 0)" ( (binary_expression "(_sch_istable[*pbVar28] & 0x10) == 0" (parenthesized_expression "(_sch_istable[*pbVar28] & 0x10)" ( (binary_expression "_sch_istable[*pbVar28] & 0x10" (subscript_expression "_sch_istable[*pbVar28]" identifier [ (pointer_expression "*pbVar28" * identifier) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              pbVar28 = pbVar28 + 1;\n              if (pbVar26 == pbVar28) goto LAB_0004553c;\n            }" { (expression_statement "pbVar28 = pbVar28 + 1;" (assignment_expression "pbVar28 = pbVar28 + 1" identifier = (binary_expression "pbVar28 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar26 == pbVar28) goto LAB_0004553c;" if (parenthesized_expression "(pbVar26 == pbVar28)" ( (binary_expression "pbVar26 == pbVar28" identifier == identifier) )) (goto_statement "goto LAB_0004553c;" goto statement_identifier ;)) })) (if_statement "if (pbVar26 <= pbVar28) break;" if (parenthesized_expression "(pbVar26 <= pbVar28)" ( (binary_expression "pbVar26 <= pbVar28" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "sVar31 = (int)pbVar26 - (int)pbVar28;" (assignment_expression "sVar31 = (int)pbVar26 - (int)pbVar28" identifier = (binary_expression "(int)pbVar26 - (int)pbVar28" (cast_expression "(int)pbVar26" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar28" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "printf("  [%6tx]  ",(int)pbVar28 - (int)start);" (call_expression "printf("  [%6tx]  ",(int)pbVar28 - (int)start)" identifier (argument_list "("  [%6tx]  ",(int)pbVar28 - (int)start)" ( (string_literal ""  [%6tx]  "" " string_content ") , (binary_expression "(int)pbVar28 - (int)start" (cast_expression "(int)pbVar28" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (sVar31 == 0) {\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }\n            else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }" if (parenthesized_expression "(sVar31 == 0)" ( (binary_expression "sVar31 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar17);\n              pbVar28 = pbVar26;\n            }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"<corrupt>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>\n",5)" identifier (argument_list "(0,"<corrupt>\n",5)" ( number_literal , (string_literal ""<corrupt>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar17);" (call_expression "printf(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) (expression_statement "pbVar28 = pbVar26;" (assignment_expression "pbVar28 = pbVar26" identifier = identifier) ;) }) (else_clause "else {\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }" else (compound_statement "{\n              print_symbol(sVar31,(char *)pbVar28);\n              putc(10,*(FILE **)puVar12);\n              sVar31 = strnlen((char *)pbVar28,sVar31);\n              pbVar28 = pbVar28 + sVar31;\n            }" { (expression_statement "print_symbol(sVar31,(char *)pbVar28);" (call_expression "print_symbol(sVar31,(char *)pbVar28)" identifier (argument_list "(sVar31,(char *)pbVar28)" ( identifier , (cast_expression "(char *)pbVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "putc(10,*(FILE **)puVar12);" (call_expression "putc(10,*(FILE **)puVar12)" identifier (argument_list "(10,*(FILE **)puVar12)" ( number_literal , (pointer_expression "*(FILE **)puVar12" * (cast_expression "(FILE **)puVar12" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar31 = strnlen((char *)pbVar28,sVar31);" (assignment_expression "sVar31 = strnlen((char *)pbVar28,sVar31)" identifier = (call_expression "strnlen((char *)pbVar28,sVar31)" identifier (argument_list "((char *)pbVar28,sVar31)" ( (cast_expression "(char *)pbVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "pbVar28 = pbVar28 + sVar31;" (assignment_expression "pbVar28 = pbVar28 + sVar31" identifier = (binary_expression "pbVar28 + sVar31" identifier + identifier)) ;) }))) (expression_statement "bVar33 = true;" (assignment_expression "bVar33 = true" identifier = true) ;) })) (labeled_statement "LAB_0004553c:\n          if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }" statement_identifier : (if_statement "if (!bVar33) {\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }" if (parenthesized_expression "(!bVar33)" ( (unary_expression "!bVar33" ! identifier) )) (compound_statement "{\n            pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar17);\n          }" { (expression_statement "pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5);" (assignment_expression "pcVar17 = (char *)dcgettext(0,"  No strings found in this section.",5)" identifier = (cast_expression "(char *)dcgettext(0,"  No strings found in this section.",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  No strings found in this section.",5)" identifier (argument_list "(0,"  No strings found in this section.",5)" ( number_literal , (string_literal ""  No strings found in this section."" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar17);" (call_expression "printf(pcVar17)" identifier (argument_list "(pcVar17)" ( identifier ))) ;) }))) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "putc(10,*(FILE **)puVar12);" (call_expression "putc(10,*(FILE **)puVar12)" identifier (argument_list "(10,*(FILE **)puVar12)" ( number_literal , (pointer_expression "*(FILE **)puVar12" * (cast_expression "(FILE **)puVar12" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) }))) (labeled_statement "LAB_00045562:\n        local_60 = bVar15;" statement_identifier : (expression_statement "local_60 = bVar15;" (assignment_expression "local_60 = bVar15" identifier = identifier) ;)) (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) (if_statement "if ((bVar7 & 4) != 0) {\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "((bVar7 & 4) != 0)" ( (binary_expression "(bVar7 & 4) != 0" (parenthesized_expression "(bVar7 & 4)" ( (binary_expression "bVar7 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);\n          bVar15 = local_60;\n          if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }\n        }" { (labeled_statement "LAB_0004556d:\n          if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" statement_identifier : (if_statement "if (filedata->string_table == (char *)0x0) {\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }\n          else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" if (parenthesized_expression "(filedata->string_table == (char *)0x0)" ( (binary_expression "filedata->string_table == (char *)0x0" (field_expression "filedata->string_table" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar17 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);\n          }" { (expression_statement "pcVar17 = "<no-strings>";" (assignment_expression "pcVar17 = "<no-strings>"" identifier = (string_literal ""<no-strings>"" " string_content ")) ;) (labeled_statement "LAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar17,5);" statement_identifier : (expression_statement "local_78 = (byte *)dcgettext(0,pcVar17,5);" (assignment_expression "local_78 = (byte *)dcgettext(0,pcVar17,5)" identifier = (cast_expression "(byte *)dcgettext(0,pcVar17,5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar17,5)" identifier (argument_list "(0,pcVar17,5)" ( number_literal , identifier , number_literal ))))) ;)) }) (else_clause "else {\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" else (compound_statement "{\n            local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);\n            if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" { (expression_statement "local_78 = (byte *)(filedata->string_table + (int)local_64->file_name);" (assignment_expression "local_78 = (byte *)(filedata->string_table + (int)local_64->file_name)" identifier = (cast_expression "(byte *)(filedata->string_table + (int)local_64->file_name)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(filedata->string_table + (int)local_64->file_name)" ( (binary_expression "filedata->string_table + (int)local_64->file_name" (field_expression "filedata->string_table" identifier -> field_identifier) + (cast_expression "(int)local_64->file_name" ( (type_descriptor "int" primitive_type) ) (field_expression "local_64->file_name" identifier -> field_identifier))) )))) ;) (if_statement "if ((char *)filedata->string_table_length <= local_64->file_name) {\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }" if (parenthesized_expression "((char *)filedata->string_table_length <= local_64->file_name)" ( (binary_expression "(char *)filedata->string_table_length <= local_64->file_name" (cast_expression "(char *)filedata->string_table_length" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->string_table_length" identifier -> field_identifier)) <= (field_expression "local_64->file_name" identifier -> field_identifier)) )) (compound_statement "{\n              pcVar17 = "<corrupt>";\n              goto LAB_0004592b;\n            }" { (expression_statement "pcVar17 = "<corrupt>";" (assignment_expression "pcVar17 = "<corrupt>"" identifier = (string_literal ""<corrupt>"" " string_content ")) ;) (goto_statement "goto LAB_0004592b;" goto statement_identifier ;) })) })))) (expression_statement "pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64);" (assignment_expression "pcVar17 = printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64)" identifier = (call_expression "printable_section_name\n                              ((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64)" identifier (argument_list "((Filedata *)&filedata->string_table,\n                               (Elf_Internal_Shdr *)&filedata->string_table_length,local_64)" ( (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 "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) (if_statement "if (*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0) {\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }\n          else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0)" ( (binary_expression "*(int *)((int)&(local_64->file_header).e_entry + 4) == 0 &&\n              (int)(local_64->file_header).e_entry == 0" (binary_expression "*(int *)((int)&(local_64->file_header).e_entry + 4) == 0" (pointer_expression "*(int *)((int)&(local_64->file_header).e_entry + 4)" * (cast_expression "(int *)((int)&(local_64->file_header).e_entry + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_64->file_header).e_entry + 4)" ( (binary_expression "(int)&(local_64->file_header).e_entry + 4" (cast_expression "(int)&(local_64->file_header).e_entry" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_64->file_header).e_entry" & (field_expression "(local_64->file_header).e_entry" (parenthesized_expression "(local_64->file_header)" ( (field_expression "local_64->file_header" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) == number_literal) && (binary_expression "(int)(local_64->file_header).e_entry == 0" (cast_expression "(int)(local_64->file_header).e_entry" ( (type_descriptor "int" primitive_type) ) (field_expression "(local_64->file_header).e_entry" (parenthesized_expression "(local_64->file_header)" ( (field_expression "local_64->file_header" identifier -> field_identifier) )) . field_identifier)) == number_literal)) )) (compound_statement "{\n            pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar19,pcVar17);\n          }" { (expression_statement "pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" identifier (argument_list "(0,"\nSection \'%s\' has no debugging data.\n",5)" ( number_literal , (string_literal ""\nSection \'%s\' has no debugging data.\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar19,pcVar17);" (call_expression "printf(pcVar19,pcVar17)" identifier (argument_list "(pcVar19,pcVar17)" ( identifier , identifier ))) ;) }) (else_clause "else {\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }" else (compound_statement "{\n            bVar33 = local_64->handle < (FILE *)0x8;\n            bVar34 = local_64->handle == (FILE *)0x8;\n            if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }\n          }" { (expression_statement "bVar33 = local_64->handle < (FILE *)0x8;" (assignment_expression "bVar33 = local_64->handle < (FILE *)0x8" identifier = (binary_expression "local_64->handle < (FILE *)0x8" (field_expression "local_64->handle" identifier -> field_identifier) < (cast_expression "(FILE *)0x8" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar34 = local_64->handle == (FILE *)0x8;" (assignment_expression "bVar34 = local_64->handle == (FILE *)0x8" identifier = (binary_expression "local_64->handle == (FILE *)0x8" (field_expression "local_64->handle" identifier -> field_identifier) == (cast_expression "(FILE *)0x8" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar34) {\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }\n            else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);\n              printf(pcVar19,pcVar17);\n              local_60 = 0;\n              bVar15 = local_60;\n            }" { (expression_statement "pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";" (assignment_expression "pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n"" identifier = (string_literal ""section \'%s\' has the NOBITS type - its contents are unreliable.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_00045b1b:\n              pcVar19 = (char *)dcgettext(0,pcVar19,5);" statement_identifier : (expression_statement "pcVar19 = (char *)dcgettext(0,pcVar19,5);" (assignment_expression "pcVar19 = (char *)dcgettext(0,pcVar19,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar19,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar19,5)" identifier (argument_list "(0,pcVar19,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar19,pcVar17);" (call_expression "printf(pcVar19,pcVar17)" identifier (argument_list "(pcVar19,pcVar17)" ( identifier , identifier ))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) }) (else_clause "else {\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }" else (compound_statement "{\n              iVar20 = 0x11;\n              ppuVar27 = &debug_displays;\n              local_6c = abbrev;\n              pbVar28 = local_78;\n              pbVar26 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);\n              pbVar28 = (byte *)".debug_info";\n              if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }\n              while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }\n              local_58 = (Filedata *)filedata->section_headers;\n              if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }\n              bVar33 = local_6c < line;\n              bVar34 = local_6c == line;\n              if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }\n              bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);\n              if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }\n            }" { (expression_statement "iVar20 = 0x11;" (assignment_expression "iVar20 = 0x11" identifier = number_literal) ;) (expression_statement "ppuVar27 = &debug_displays;" (assignment_expression "ppuVar27 = &debug_displays" identifier = (pointer_expression "&debug_displays" & identifier)) ;) (expression_statement "local_6c = abbrev;" (assignment_expression "local_6c = abbrev" identifier = identifier) ;) (expression_statement "pbVar28 = local_78;" (assignment_expression "pbVar28 = local_78" identifier = identifier) ;) (expression_statement "pbVar26 = (byte *)".gnu.linkonce.wi.";" (assignment_expression "pbVar26 = (byte *)".gnu.linkonce.wi."" identifier = (cast_expression "(byte *)".gnu.linkonce.wi."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.wi."" " string_content "))) ;) (do_statement "do {\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              } while (bVar34);" do (compound_statement "{\n                if (iVar20 == 0) break;\n                iVar20 = iVar20 + -1;\n                bVar33 = *pbVar28 < *pbVar26;\n                bVar34 = *pbVar28 == *pbVar26;\n                pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;\n                pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n              }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar28 < *pbVar26;" (assignment_expression "bVar33 = *pbVar28 < *pbVar26" identifier = (binary_expression "*pbVar28 < *pbVar26" (pointer_expression "*pbVar28" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar34 = *pbVar28 == *pbVar26;" (assignment_expression "bVar34 = *pbVar28 == *pbVar26" identifier = (binary_expression "*pbVar28 == *pbVar26" (pointer_expression "*pbVar28" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar28 = pbVar28 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar28 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar28 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (expression_statement "pbVar28 = (byte *)".debug_info";" (assignment_expression "pbVar28 = (byte *)".debug_info"" identifier = (cast_expression "(byte *)".debug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_info"" " string_content "))) ;) (if_statement "if ((!bVar33 && !bVar34) != bVar33) {\n                pbVar28 = local_78;\n              }" if (parenthesized_expression "((!bVar33 && !bVar34) != bVar33)" ( (binary_expression "(!bVar33 && !bVar34) != bVar33" (parenthesized_expression "(!bVar33 && !bVar34)" ( (binary_expression "!bVar33 && !bVar34" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier) )) (compound_statement "{\n                pbVar28 = local_78;\n              }" { (expression_statement "pbVar28 = local_78;" (assignment_expression "pbVar28 = local_78" identifier = identifier) ;) })) (while_statement "while (iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0) {\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }" while (parenthesized_expression "(iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0)" ( (comma_expression "iVar20 = strcmp(*ppuVar27,(char *)pbVar28), iVar20 != 0" (assignment_expression "iVar20 = strcmp(*ppuVar27,(char *)pbVar28)" identifier = (call_expression "strcmp(*ppuVar27,(char *)pbVar28)" identifier (argument_list "(*ppuVar27,(char *)pbVar28)" ( (pointer_expression "*ppuVar27" * identifier) , (cast_expression "(char *)pbVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar20 != 0" identifier != number_literal)) )) (compound_statement "{\n                bVar33 = local_6c < line;\n                bVar34 = local_6c == line;\n                if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + aranges;\n                ppuVar27 = ppuVar27 + 0x10;\n              }" { (expression_statement "bVar33 = local_6c < line;" (assignment_expression "bVar33 = local_6c < line" identifier = (binary_expression "local_6c < line" identifier < identifier)) ;) (expression_statement "bVar34 = local_6c == line;" (assignment_expression "bVar34 = local_6c == line" identifier = (binary_expression "local_6c == line" identifier == identifier)) ;) (if_statement "if (bVar34) {\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }\n                else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                  iVar20 = 0xc;\n                  pbVar26 = pbVar28;\n                  pbVar32 = (byte *)".debug_line.";\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);\n                  if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;\n                }" { (expression_statement "iVar20 = 0xc;" (assignment_expression "iVar20 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar26 = pbVar28;" (assignment_expression "pbVar26 = pbVar28" identifier = identifier) ;) (expression_statement "pbVar32 = (byte *)".debug_line.";" (assignment_expression "pbVar32 = (byte *)".debug_line."" identifier = (cast_expression "(byte *)".debug_line."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_line."" " string_content "))) ;) (do_statement "do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  } while (bVar34);" do (compound_statement "{\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar33 = *pbVar26 < *pbVar32;\n                    bVar34 = *pbVar26 == *pbVar32;\n                    pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                    pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                  }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar26 < *pbVar32;" (assignment_expression "bVar33 = *pbVar26 < *pbVar32" identifier = (binary_expression "*pbVar26 < *pbVar32" (pointer_expression "*pbVar26" * identifier) < (pointer_expression "*pbVar32" * identifier))) ;) (expression_statement "bVar34 = *pbVar26 == *pbVar32;" (assignment_expression "bVar34 = *pbVar26 == *pbVar32" identifier = (binary_expression "*pbVar26 == *pbVar32" (pointer_expression "*pbVar26" * identifier) == (pointer_expression "*pbVar32" * identifier))) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar32 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (if_statement "if (((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)) break;" if (parenthesized_expression "(((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0))" ( (binary_expression "((!bVar33 && !bVar34) == bVar33) ||\n                     (iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)" (parenthesized_expression "((!bVar33 && !bVar34) == bVar33)" ( (binary_expression "(!bVar33 && !bVar34) == bVar33" (parenthesized_expression "(!bVar33 && !bVar34)" ( (binary_expression "!bVar33 && !bVar34" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) == identifier) )) || (parenthesized_expression "(iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0)" ( (comma_expression "iVar20 = strcmp(ppuVar27[1],(char *)pbVar28), iVar20 == 0" (assignment_expression "iVar20 = strcmp(ppuVar27[1],(char *)pbVar28)" identifier = (call_expression "strcmp(ppuVar27[1],(char *)pbVar28)" identifier (argument_list "(ppuVar27[1],(char *)pbVar28)" ( (subscript_expression "ppuVar27[1]" identifier [ number_literal ]) , (cast_expression "(char *)pbVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar20 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) }) (else_clause "else {\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" else (compound_statement "{\n                  iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);\n                  if (iVar20 == 0) break;\n                  if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" { (expression_statement "iVar20 = strcmp(ppuVar27[1],(char *)pbVar28);" (assignment_expression "iVar20 = strcmp(ppuVar27[1],(char *)pbVar28)" identifier = (call_expression "strcmp(ppuVar27[1],(char *)pbVar28)" identifier (argument_list "(ppuVar27[1],(char *)pbVar28)" ( (subscript_expression "ppuVar27[1]" identifier [ number_literal ]) , (cast_expression "(char *)pbVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_6c == separate_debug_str) {\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }" if (parenthesized_expression "(local_6c == separate_debug_str)" ( (binary_expression "local_6c == separate_debug_str" identifier == identifier) )) (compound_statement "{\n                    pcVar19 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }" { (expression_statement "pcVar19 = "Unrecognized debug section: %s\n";" (assignment_expression "pcVar19 = "Unrecognized debug section: %s\n"" identifier = (string_literal ""Unrecognized debug section: %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00045b1b;" goto statement_identifier ;) })) }))) (expression_statement "local_6c = local_6c + aranges;" (assignment_expression "local_6c = local_6c + aranges" identifier = (binary_expression "local_6c + aranges" identifier + identifier)) ;) (expression_statement "ppuVar27 = ppuVar27 + 0x10;" (assignment_expression "ppuVar27 = ppuVar27 + 0x10" identifier = (binary_expression "ppuVar27 + 0x10" identifier + number_literal)) ;) })) (expression_statement "local_58 = (Filedata *)filedata->section_headers;" (assignment_expression "local_58 = (Filedata *)filedata->section_headers" identifier = (cast_expression "(Filedata *)filedata->section_headers" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "filedata->section_headers" identifier -> field_identifier))) ;) (if_statement "if ((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)) {\n                free_debug_section(local_6c);\n              }" if (parenthesized_expression "((local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58))" ( (binary_expression "(local_58 == (Filedata *)0x0) ||\n                 (local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)" (parenthesized_expression "(local_58 == (Filedata *)0x0)" ( (binary_expression "local_58 == (Filedata *)0x0" identifier == (cast_expression "(Filedata *)0x0" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58)" ( (comma_expression "local_58 = (Filedata *)find_section(filedata,(char *)pbVar28),\n                 local_64 != local_58" (assignment_expression "local_58 = (Filedata *)find_section(filedata,(char *)pbVar28)" identifier = (cast_expression "(Filedata *)find_section(filedata,(char *)pbVar28)" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "find_section(filedata,(char *)pbVar28)" identifier (argument_list "(filedata,(char *)pbVar28)" ( identifier , (cast_expression "(char *)pbVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))))) , (binary_expression "local_64 != local_58" identifier != identifier)) ))) )) (compound_statement "{\n                free_debug_section(local_6c);\n              }" { (expression_statement "free_debug_section(local_6c);" (call_expression "free_debug_section(local_6c)" identifier (argument_list "(local_6c)" ( identifier ))) ;) })) (expression_statement "bVar33 = local_6c < line;" (assignment_expression "bVar33 = local_6c < line" identifier = (binary_expression "local_6c < line" identifier < identifier)) ;) (expression_statement "bVar34 = local_6c == line;" (assignment_expression "bVar34 = local_6c == line" identifier = (binary_expression "local_6c == line" identifier == identifier)) ;) (if_statement "if (bVar34) {\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }\n              else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }" if (parenthesized_expression "(bVar34)" ( identifier )) (compound_statement "{\n                iVar20 = 0xc;\n                pbVar26 = pbVar28;\n                pbVar32 = (byte *)".debug_line.";\n                do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);\n                if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;\n                ppuVar27[2] = pbVar28;\n              }" { (expression_statement "iVar20 = 0xc;" (assignment_expression "iVar20 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar26 = pbVar28;" (assignment_expression "pbVar26 = pbVar28" identifier = identifier) ;) (expression_statement "pbVar32 = (byte *)".debug_line.";" (assignment_expression "pbVar32 = (byte *)".debug_line."" identifier = (cast_expression "(byte *)".debug_line."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_line."" " string_content "))) ;) (do_statement "do {\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                } while (bVar34);" do (compound_statement "{\n                  if (iVar20 == 0) break;\n                  iVar20 = iVar20 + -1;\n                  bVar33 = *pbVar26 < *pbVar32;\n                  bVar34 = *pbVar26 == *pbVar32;\n                  pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;\n                  pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;\n                }" { (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "bVar33 = *pbVar26 < *pbVar32;" (assignment_expression "bVar33 = *pbVar26 < *pbVar32" identifier = (binary_expression "*pbVar26 < *pbVar32" (pointer_expression "*pbVar26" * identifier) < (pointer_expression "*pbVar32" * identifier))) ;) (expression_statement "bVar34 = *pbVar26 == *pbVar32;" (assignment_expression "bVar34 = *pbVar26 == *pbVar32" identifier = (binary_expression "*pbVar26 == *pbVar32" (pointer_expression "*pbVar26" * identifier) == (pointer_expression "*pbVar32" * identifier))) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1;" (assignment_expression "pbVar32 = pbVar32 + (uint)bVar35 * -2 + 1" identifier = (binary_expression "pbVar32 + (uint)bVar35 * -2 + 1" (binary_expression "pbVar32 + (uint)bVar35 * -2" identifier + (binary_expression "(uint)bVar35 * -2" (cast_expression "(uint)bVar35" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar34)" ( identifier )) ;) (if_statement "if ((!bVar33 && !bVar34) != bVar33) goto LAB_000456c4;" if (parenthesized_expression "((!bVar33 && !bVar34) != bVar33)" ( (binary_expression "(!bVar33 && !bVar34) != bVar33" (parenthesized_expression "(!bVar33 && !bVar34)" ( (binary_expression "!bVar33 && !bVar34" (unary_expression "!bVar33" ! identifier) && (unary_expression "!bVar34" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_000456c4;" goto statement_identifier ;)) (expression_statement "ppuVar27[2] = pbVar28;" (assignment_expression "ppuVar27[2] = pbVar28" (subscript_expression "ppuVar27[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }" else (compound_statement "{\nLAB_000456c4:\n                pcVar17 = *ppuVar27;\n                iVar20 = strcmp(pcVar17,(char *)pbVar28);\n                if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }\n              }" { (labeled_statement "LAB_000456c4:\n                pcVar17 = *ppuVar27;" statement_identifier : (expression_statement "pcVar17 = *ppuVar27;" (assignment_expression "pcVar17 = *ppuVar27" identifier = (pointer_expression "*ppuVar27" * identifier)) ;)) (expression_statement "iVar20 = strcmp(pcVar17,(char *)pbVar28);" (assignment_expression "iVar20 = strcmp(pcVar17,(char *)pbVar28)" identifier = (call_expression "strcmp(pcVar17,(char *)pbVar28)" identifier (argument_list "(pcVar17,(char *)pbVar28)" ( identifier , (cast_expression "(char *)pbVar28" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar20 == 0) {\n                  ppuVar27[2] = pcVar17;\n                }\n                else {\n                  ppuVar27[2] = ppuVar27[1];\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  ppuVar27[2] = pcVar17;\n                }" { (expression_statement "ppuVar27[2] = pcVar17;" (assignment_expression "ppuVar27[2] = pcVar17" (subscript_expression "ppuVar27[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                  ppuVar27[2] = ppuVar27[1];\n                }" else (compound_statement "{\n                  ppuVar27[2] = ppuVar27[1];\n                }" { (expression_statement "ppuVar27[2] = ppuVar27[1];" (assignment_expression "ppuVar27[2] = ppuVar27[1]" (subscript_expression "ppuVar27[2]" identifier [ number_literal ]) = (subscript_expression "ppuVar27[1]" identifier [ number_literal ])) ;) }))) }))) (expression_statement "bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata);" (assignment_expression "bVar14 = load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata)" identifier = (call_expression "load_specific_debug_section(local_6c,(Elf_Internal_Shdr *)local_64,filedata)" identifier (argument_list "(local_6c,(Elf_Internal_Shdr *)local_64,filedata)" ( identifier , (cast_expression "(Elf_Internal_Shdr *)local_64" ( (type_descriptor "Elf_Internal_Shdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if (bVar14 != 0) {\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (compound_statement "{\n                section_subset = find_cu_tu_set(filedata,local_70);\n                uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);\n                section_subset = (uint *)0x0;\n                if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }\n                bVar15 = 0;\n                if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }\n              }" { (expression_statement "section_subset = find_cu_tu_set(filedata,local_70);" (assignment_expression "section_subset = find_cu_tu_set(filedata,local_70)" identifier = (call_expression "find_cu_tu_set(filedata,local_70)" identifier (argument_list "(filedata,local_70)" ( identifier , identifier )))) ;) (expression_statement "uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata);" (assignment_expression "uVar18 = (*(code *)ppuVar27[0xd])(ppuVar27,filedata)" identifier = (call_expression "(*(code *)ppuVar27[0xd])(ppuVar27,filedata)" (parenthesized_expression "(*(code *)ppuVar27[0xd])" ( (pointer_expression "*(code *)ppuVar27[0xd]" * (cast_expression "(code *)ppuVar27[0xd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppuVar27[0xd]" identifier [ number_literal ]))) )) (argument_list "(ppuVar27,filedata)" ( identifier , identifier )))) ;) (expression_statement "section_subset = (uint *)0x0;" (assignment_expression "section_subset = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))) {\n                  free_debug_section(local_6c);\n                }" if (parenthesized_expression "((local_64 != local_58) || ((local_6c != info && (local_6c != abbrev))))" ( (binary_expression "(local_64 != local_58) || ((local_6c != info && (local_6c != abbrev)))" (parenthesized_expression "(local_64 != local_58)" ( (binary_expression "local_64 != local_58" identifier != identifier) )) || (parenthesized_expression "((local_6c != info && (local_6c != abbrev)))" ( (parenthesized_expression "(local_6c != info && (local_6c != abbrev))" ( (binary_expression "local_6c != info && (local_6c != abbrev)" (binary_expression "local_6c != info" identifier != identifier) && (parenthesized_expression "(local_6c != abbrev)" ( (binary_expression "local_6c != abbrev" identifier != identifier) ))) )) ))) )) (compound_statement "{\n                  free_debug_section(local_6c);\n                }" { (expression_statement "free_debug_section(local_6c);" (call_expression "free_debug_section(local_6c)" identifier (argument_list "(local_6c)" ( identifier ))) ;) })) (expression_statement "bVar15 = 0;" (assignment_expression "bVar15 = 0" identifier = number_literal) ;) (if_statement "if ((uVar18 & 1) != 0) {\n                  bVar15 = local_60;\n                }" if (parenthesized_expression "((uVar18 & 1) != 0)" ( (binary_expression "(uVar18 & 1) != 0" (parenthesized_expression "(uVar18 & 1)" ( (binary_expression "uVar18 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  bVar15 = local_60;\n                }" { (expression_statement "bVar15 = local_60;" (assignment_expression "bVar15 = local_60" identifier = identifier) ;) })) })) }))) }))) })) }))) (expression_statement "local_60 = bVar15;" (assignment_expression "local_60 = bVar15" identifier = identifier) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) (expression_statement "local_64 = (Filedata *)&(local_64->file_header).e_phentsize;" (assignment_expression "local_64 = (Filedata *)&(local_64->file_header).e_phentsize" identifier = (cast_expression "(Filedata *)&(local_64->file_header).e_phentsize" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_64->file_header).e_phentsize" & (field_expression "(local_64->file_header).e_phentsize" (parenthesized_expression "(local_64->file_header)" ( (field_expression "local_64->file_header" identifier -> field_identifier) )) . field_identifier)))) ;) (expression_statement "uVar18 = filedata->num_dump_sects;" (assignment_expression "uVar18 = filedata->num_dump_sects" identifier = (field_expression "filedata->num_dump_sects" identifier -> field_identifier)) ;) (if_statement "if ((filedata->file_header).e_shnum <= local_70) goto LAB_00045884;" if (parenthesized_expression "((filedata->file_header).e_shnum <= local_70)" ( (binary_expression "(filedata->file_header).e_shnum <= local_70" (field_expression "(filedata->file_header).e_shnum" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) <= identifier) )) (goto_statement "goto LAB_00045884;" goto statement_identifier ;)) }) while (parenthesized_expression "(local_70 < uVar18)" ( (binary_expression "local_70 < uVar18" identifier < identifier) )) ;) })))) (return_statement "return local_60;" return identifier ;) })))
(translation_unit "undefined4 __regparm3 FUN_000451e0(int param_1)\n\n{\n  undefined4 *puVar1;\n  uint *puVar2;\n  byte bVar3;\n  byte bVar4;\n  ushort uVar5;\n  uint3 uVar6;\n  undefined *puVar7;\n  char *__s1;\n  int iVar8;\n  byte *pbVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  size_t sVar13;\n  undefined4 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte *pbVar20;\n  undefined **ppuVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  byte *local_78;\n  uint local_70;\n  uint local_6c;\n  uint *local_64;\n  undefined4 local_60;\n  uint *local_58;\n  byte *local_40;\n  uint local_3c;\n  uint local_38;\n  int local_30;\n  int local_2c;\n  int local_28;\n  undefined4 uStack_14;\n  \n  bVar29 = 0;\n  uStack_14 = 0x451eb;\n  local_70 = *(uint *)(param_1 + 0x54);\n  puVar25 = DAT_000b6280;\n  if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }\n  local_64 = *(uint **)(param_1 + 0x5c);\n  local_60 = 1;\n  uVar22 = *(uint *)(param_1 + 0x70);\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }\n  return local_60;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_000451e0(int param_1)\n\n{\n  undefined4 *puVar1;\n  uint *puVar2;\n  byte bVar3;\n  byte bVar4;\n  ushort uVar5;\n  uint3 uVar6;\n  undefined *puVar7;\n  char *__s1;\n  int iVar8;\n  byte *pbVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  size_t sVar13;\n  undefined4 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte *pbVar20;\n  undefined **ppuVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  byte *local_78;\n  uint local_70;\n  uint local_6c;\n  uint *local_64;\n  undefined4 local_60;\n  uint *local_58;\n  byte *local_40;\n  uint local_3c;\n  uint local_38;\n  int local_30;\n  int local_2c;\n  int local_28;\n  undefined4 uStack_14;\n  \n  bVar29 = 0;\n  uStack_14 = 0x451eb;\n  local_70 = *(uint *)(param_1 + 0x54);\n  puVar25 = DAT_000b6280;\n  if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }\n  local_64 = *(uint **)(param_1 + 0x5c);\n  local_60 = 1;\n  uVar22 = *(uint *)(param_1 + 0x70);\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }\n  return local_60;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_000451e0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  uint *puVar2;\n  byte bVar3;\n  byte bVar4;\n  ushort uVar5;\n  uint3 uVar6;\n  undefined *puVar7;\n  char *__s1;\n  int iVar8;\n  byte *pbVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  size_t sVar13;\n  undefined4 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte *pbVar20;\n  undefined **ppuVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  byte *local_78;\n  uint local_70;\n  uint local_6c;\n  uint *local_64;\n  undefined4 local_60;\n  uint *local_58;\n  byte *local_40;\n  uint local_3c;\n  uint local_38;\n  int local_30;\n  int local_2c;\n  int local_28;\n  undefined4 uStack_14;\n  \n  bVar29 = 0;\n  uStack_14 = 0x451eb;\n  local_70 = *(uint *)(param_1 + 0x54);\n  puVar25 = DAT_000b6280;\n  if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }\n  local_64 = *(uint **)(param_1 + 0x5c);\n  local_60 = 1;\n  uVar22 = *(uint *)(param_1 + 0x70);\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }\n  return local_60;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "ushort uVar5;" type_identifier identifier ;) (declaration "uint3 uVar6;" type_identifier identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "undefined **ppuVar21;" type_identifier (pointer_declarator "**ppuVar21" * (pointer_declarator "*ppuVar21" * identifier)) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "byte *pbVar26;" type_identifier (pointer_declarator "*pbVar26" * identifier) ;) (declaration "bool bVar27;" primitive_type identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "byte *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "uint *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "uint *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "byte *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar29 = 0;" (assignment_expression "bVar29 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x451eb;" (assignment_expression "uStack_14 = 0x451eb" identifier = number_literal) ;) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(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 "puVar25 = DAT_000b6280;" (assignment_expression "puVar25 = DAT_000b6280" identifier = identifier) ;) (if_statement "if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }" if (parenthesized_expression "(DAT_000b6280 != (undefined4 *)0x0)" ( (binary_expression "DAT_000b6280 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }" { (do_statement "do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);" do (compound_statement "{\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    }" { (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) (if_statement "if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }" { (labeled_statement "LAB_000457c0:\n        uVar14 = *puVar25;" statement_identifier : (expression_statement "uVar14 = *puVar25;" (assignment_expression "uVar14 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;)) (expression_statement "uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" identifier = (call_expression "dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" identifier (argument_list "(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" ( number_literal , (string_literal ""Section \'%s\' was not dumped because it does not exist!\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar12,uVar14);" (call_expression "warn(uVar12,uVar14)" identifier (argument_list "(uVar12,uVar14)" ( identifier , identifier ))) ;) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(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        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" else (compound_statement "{\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" { (do_statement "do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);" do (compound_statement "{\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        }" { (while_statement "while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }" { (expression_statement "pcVar10 = (char *)*puVar25;" (assignment_expression "pcVar10 = (char *)*puVar25" identifier = (cast_expression "(char *)*puVar25" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) (expression_statement "puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);" (assignment_expression "puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" identifier = (cast_expression "(uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" ( (binary_expression "*(int *)(param_1 + 0x5c) + uVar22 * 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 "uVar22 * 0x48" identifier * number_literal)) )))) ;) (if_statement "if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" if (parenthesized_expression "(puVar2 == (uint *)0x0)" ( (binary_expression "puVar2 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }" { (expression_statement "__s1 = (char *)dcgettext(0,"<none>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<none>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<none>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<none>",5)" identifier (argument_list "(0,"<none>",5)" ( number_literal , (string_literal ""<none>"" " string_content ") , number_literal ))))) ;) }) (else_clause "else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" else (if_statement "if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" if (parenthesized_expression "(*(int *)(param_1 + 100) == 0)" ( (binary_expression "*(int *)(param_1 + 100) == 0" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }" { (expression_statement "__s1 = (char *)dcgettext(0,"<no-strings>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<no-strings>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<no-strings>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<no-strings>",5)" identifier (argument_list "(0,"<no-strings>",5)" ( number_literal , (string_literal ""<no-strings>"" " string_content ") , number_literal ))))) ;) }) (else_clause "else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" else (compound_statement "{\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" { (expression_statement "uVar15 = *puVar2;" (assignment_expression "uVar15 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "__s1 = (char *)(*(int *)(param_1 + 100) + uVar15);" (assignment_expression "__s1 = (char *)(*(int *)(param_1 + 100) + uVar15)" identifier = (cast_expression "(char *)(*(int *)(param_1 + 100) + uVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 100) + uVar15)" ( (binary_expression "*(int *)(param_1 + 100) + uVar15" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) + identifier) )))) ;) (if_statement "if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }" if (parenthesized_expression "(*(uint *)(param_1 + 0x68) <= uVar15)" ( (binary_expression "*(uint *)(param_1 + 0x68) <= uVar15" (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }" { (expression_statement "__s1 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<corrupt>",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>",5)" identifier (argument_list "(0,"<corrupt>",5)" ( number_literal , (string_literal ""<corrupt>"" " string_content ") , number_literal ))))) ;) })) }))))) (expression_statement "iVar8 = strcmp(__s1,pcVar10);" (assignment_expression "iVar8 = strcmp(__s1,pcVar10)" identifier = (call_expression "strcmp(__s1,pcVar10)" identifier (argument_list "(__s1,pcVar10)" ( identifier , identifier )))) ;) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) (expression_statement "FUN_0001e6b0();" (call_expression "FUN_0001e6b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(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 "bVar27 = true;" (assignment_expression "bVar27 = true" identifier = true) ;) (if_statement "if (local_70 <= uVar22) goto LAB_000452ac;" if (parenthesized_expression "(local_70 <= uVar22)" ( (binary_expression "local_70 <= uVar22" identifier <= identifier) )) (goto_statement "goto LAB_000452ac;" goto statement_identifier ;)) })) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(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 "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" identifier = (binary_expression "uVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar22 < local_70)" ( (binary_expression "uVar22 < local_70" identifier < identifier) )) ;) (labeled_statement "LAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;" statement_identifier : (if_statement "if (!bVar27) goto LAB_000457c0;" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (goto_statement "goto LAB_000457c0;" goto statement_identifier ;))) }))) (expression_statement "puVar1 = puVar25 + 2;" (assignment_expression "puVar1 = puVar25 + 2" identifier = (binary_expression "puVar25 + 2" identifier + number_literal)) ;) (expression_statement "puVar25 = (undefined4 *)*puVar1;" (assignment_expression "puVar25 = (undefined4 *)*puVar1" identifier = (cast_expression "(undefined4 *)*puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier))) ;) }) while (parenthesized_expression "((undefined4 *)*puVar1 != (undefined4 *)0x0)" ( (binary_expression "(undefined4 *)*puVar1 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar1" * identifier)) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "local_64 = *(uint **)(param_1 + 0x5c);" (assignment_expression "local_64 = *(uint **)(param_1 + 0x5c)" identifier = (pointer_expression "*(uint **)(param_1 + 0x5c)" * (cast_expression "(uint **)(param_1 + 0x5c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" identifier = number_literal) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0x70)" identifier = (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;) (if_statement "if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" if (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }" { (labeled_statement "LAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" statement_identifier : (if_statement "if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" if (parenthesized_expression "(local_70 < uVar22)" ( (binary_expression "local_70 < uVar22" identifier < identifier) )) (compound_statement "{\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" { (do_statement "do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));" do (compound_statement "{\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      }" { (if_statement "if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }" if (parenthesized_expression "(*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0')" ( (binary_expression "*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 0x6c) + local_70)" * (cast_expression "(char *)(*(int *)(param_1 + 0x6c) + local_70)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x6c) + local_70)" ( (binary_expression "*(int *)(param_1 + 0x6c) + local_70" (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }" { (expression_statement "uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" identifier = (call_expression "dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" identifier (argument_list "(0,"Section %d was not dumped because it does not exist!\n",5)" ( number_literal , (string_literal ""Section %d was not dumped because it does not exist!\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar14,local_70);" (call_expression "warn(uVar14,local_70)" identifier (argument_list "(uVar14,local_70)" ( identifier , identifier ))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) })) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_70 < *(uint *)(param_1 + 0x70))" ( (binary_expression "local_70 < *(uint *)(param_1 + 0x70)" identifier < (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) )) ;) }))) }) (else_clause "else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" else (if_statement "if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" if (parenthesized_expression "(uVar22 != 0)" ( (binary_expression "uVar22 != 0" identifier != number_literal) )) (compound_statement "{\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" { (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (do_statement "do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);" do (compound_statement "{\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    }" { (expression_statement "bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);" (assignment_expression "bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70)" identifier = (pointer_expression "*(byte *)(*(int *)(param_1 + 0x6c) + local_70)" * (cast_expression "(byte *)(*(int *)(param_1 + 0x6c) + local_70)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x6c) + local_70)" ( (binary_expression "*(int *)(param_1 + 0x6c) + local_70" (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" if (parenthesized_expression "((bVar3 & 1) == 0)" ( (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }" { (if_statement "if ((bVar3 & 0x10) == 0) goto LAB_00045314;" if (parenthesized_expression "((bVar3 & 0x10) == 0)" ( (binary_expression "(bVar3 & 0x10) == 0" (parenthesized_expression "(bVar3 & 0x10)" ( (binary_expression "bVar3 & 0x10" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00045314;" goto statement_identifier ;)) (labeled_statement "LAB_00045399:\n        iVar8 = FUN_00041ce0();" statement_identifier : (expression_statement "iVar8 = FUN_00041ce0();" (assignment_expression "iVar8 = FUN_00041ce0()" identifier = (call_expression "FUN_00041ce0()" identifier (argument_list "()" ( )))) ;)) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if (iVar8 != 0) {\n          uVar14 = local_60;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar14 = local_60;\n        }" { (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) })) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" identifier = identifier) ;) (if_statement "if ((bVar3 & 8) != 0) goto LAB_000453cd;" if (parenthesized_expression "((bVar3 & 8) != 0)" ( (binary_expression "(bVar3 & 8) != 0" (parenthesized_expression "(bVar3 & 8)" ( (binary_expression "bVar3 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000453cd;" goto statement_identifier ;)) (labeled_statement "LAB_00045326:\n        uVar14 = local_60;" statement_identifier : (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;)) (if_statement "if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }" { (if_statement "if (local_64 != (uint *)0x0) goto LAB_0004556d;" if (parenthesized_expression "(local_64 != (uint *)0x0)" ( (binary_expression "local_64 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004556d;" goto statement_identifier ;)) (expression_statement "pcVar10 = "<none>";" (assignment_expression "pcVar10 = "<none>"" identifier = (string_literal ""<none>"" " string_content ")) ;) (goto_statement "goto LAB_0004592b;" goto statement_identifier ;) })) }) (else_clause "else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" else (compound_statement "{\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" { (expression_statement "iVar8 = FUN_00041ce0();" (assignment_expression "iVar8 = FUN_00041ce0()" identifier = (call_expression "FUN_00041ce0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if (iVar8 != 0) {\n          uVar14 = local_60;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar14 = local_60;\n        }" { (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) })) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" identifier = identifier) ;) (if_statement "if ((bVar3 & 0x10) != 0) goto LAB_00045399;" if (parenthesized_expression "((bVar3 & 0x10) != 0)" ( (binary_expression "(bVar3 & 0x10) != 0" (parenthesized_expression "(bVar3 & 0x10)" ( (binary_expression "bVar3 & 0x10" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00045399;" goto statement_identifier ;)) (labeled_statement "LAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;" statement_identifier : (if_statement "if ((bVar3 & 8) == 0) goto LAB_00045326;" if (parenthesized_expression "((bVar3 & 8) == 0)" ( (binary_expression "(bVar3 & 8) == 0" (parenthesized_expression "(bVar3 & 8)" ( (binary_expression "bVar3 & 8" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00045326;" goto statement_identifier ;))) (labeled_statement "LAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();" statement_identifier : (expression_statement "pbVar9 = (byte *)FUN_00032770();" (assignment_expression "pbVar9 = (byte *)FUN_00032770()" identifier = (cast_expression "(byte *)FUN_00032770()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00032770()" identifier (argument_list "()" ( ))))) ;)) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) (if_statement "if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }" { (if_statement "if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }" if (parenthesized_expression "((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8))" ( (binary_expression "(local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)" (parenthesized_expression "(local_64[9] != 0 || local_64[8] != 0)" ( (binary_expression "local_64[9] != 0 || local_64[8] != 0" (binary_expression "local_64[9] != 0" (subscript_expression "local_64[9]" identifier [ number_literal ]) != number_literal) || (binary_expression "local_64[8] != 0" (subscript_expression "local_64[8]" identifier [ number_literal ]) != number_literal)) )) && (parenthesized_expression "(uVar14 = 0, local_64[1] == 8)" ( (comma_expression "uVar14 = 0, local_64[1] == 8" (assignment_expression "uVar14 = 0" identifier = number_literal) , (binary_expression "local_64[1] == 8" (subscript_expression "local_64[1]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n            uVar14 = local_60;\n          }" { (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) })) }) (else_clause "else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" else (compound_statement "{\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" { (expression_statement "local_6c = local_64[8];" (assignment_expression "local_6c = local_64[8]" identifier = (subscript_expression "local_64[8]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = local_64[9];" (assignment_expression "uVar22 = local_64[9]" identifier = (subscript_expression "local_64[9]" 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 *)dcgettext(0,"\nString dump of section \'%s\':\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nString dump of section \'%s\':\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nString dump of section \'%s\':\n",5)" identifier (argument_list "(0,"\nString dump of section \'%s\':\n",5)" ( number_literal , (string_literal ""\nString dump of section \'%s\':\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" identifier (argument_list "(pcVar10,uVar12)" ( identifier , identifier ))) ;) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" identifier = identifier) ;) (if_statement "if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }" if (parenthesized_expression "(DAT_000b6320 != 0)" ( (binary_expression "DAT_000b6320 != 0" identifier != number_literal) )) (compound_statement "{\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }" { (expression_statement "local_3c = local_6c;" (assignment_expression "local_3c = local_6c" identifier = identifier) ;) (expression_statement "local_38 = uVar22;" (assignment_expression "local_38 = uVar22" identifier = identifier) ;) (if_statement "if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" if (parenthesized_expression "((local_64[2] & 0x800) == 0)" ( (binary_expression "(local_64[2] & 0x800) == 0" (parenthesized_expression "(local_64[2] & 0x800)" ( (binary_expression "local_64[2] & 0x800" (subscript_expression "local_64[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }" { (expression_statement "bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);" (assignment_expression "bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c)" identifier = (binary_expression "uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c)" (binary_expression "uVar22 != 0" identifier != number_literal) || (binary_expression "-uVar22 < (uint)(0xc < local_6c)" (unary_expression "-uVar22" - identifier) < (call_expression "(uint)(0xc < local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xc < local_6c)" ( (binary_expression "0xc < local_6c" number_literal < identifier) )))))) ;) (expression_statement "bVar28 = -uVar22 == (uint)(0xc < local_6c);" (assignment_expression "bVar28 = -uVar22 == (uint)(0xc < local_6c)" identifier = (binary_expression "-uVar22 == (uint)(0xc < local_6c)" (unary_expression "-uVar22" - identifier) == (call_expression "(uint)(0xc < local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xc < local_6c)" ( (binary_expression "0xc < local_6c" number_literal < identifier) ))))) ;) (if_statement "if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }" if (parenthesized_expression "(bVar27)" ( identifier )) (compound_statement "{\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }" { (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" identifier = number_literal) ;) (expression_statement "pbVar20 = pbVar9;" (assignment_expression "pbVar20 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar26 = &DAT_0007d05f;" (assignment_expression "pbVar26 = &DAT_0007d05f" identifier = (pointer_expression "&DAT_0007d05f" & identifier)) ;) (do_statement "do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" do (compound_statement "{\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar20 < *pbVar26;" (assignment_expression "bVar27 = *pbVar20 < *pbVar26" identifier = (binary_expression "*pbVar20 < *pbVar26" (pointer_expression "*pbVar20" * identifier) < (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "bVar28 = *pbVar20 == *pbVar26;" (assignment_expression "bVar28 = *pbVar20 == *pbVar26" identifier = (binary_expression "*pbVar20 == *pbVar26" (pointer_expression "*pbVar20" * identifier) == (pointer_expression "*pbVar26" * identifier))) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar26 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (if_statement "if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }" if (parenthesized_expression "((!bVar27 && !bVar28) == bVar27)" ( (binary_expression "(!bVar27 && !bVar28) == bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" ( (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier) )) (compound_statement "{\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }" { (expression_statement "bVar4 = pbVar9[4];" (assignment_expression "bVar4 = pbVar9[4]" identifier = (subscript_expression "pbVar9[4]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = CONCAT11(bVar4,pbVar9[5]);" (assignment_expression "uVar5 = CONCAT11(bVar4,pbVar9[5])" identifier = (call_expression "CONCAT11(bVar4,pbVar9[5])" identifier (argument_list "(bVar4,pbVar9[5])" ( identifier , (subscript_expression "pbVar9[5]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar6 = CONCAT21(uVar5,pbVar9[6]);" (assignment_expression "uVar6 = CONCAT21(uVar5,pbVar9[6])" identifier = (call_expression "CONCAT21(uVar5,pbVar9[6])" identifier (argument_list "(uVar5,pbVar9[6])" ( identifier , (subscript_expression "pbVar9[6]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;" (assignment_expression "uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100" identifier = (binary_expression "CONCAT31(uVar6,pbVar9[7]) * 0x100" (call_expression "CONCAT31(uVar6,pbVar9[7])" identifier (argument_list "(uVar6,pbVar9[7])" ( identifier , (subscript_expression "pbVar9[7]" identifier [ number_literal ]) ))) * number_literal)) ;) (expression_statement "uVar24 = pbVar9[8] + uVar15;" (assignment_expression "uVar24 = pbVar9[8] + uVar15" identifier = (binary_expression "pbVar9[8] + uVar15" (subscript_expression "pbVar9[8]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "uVar11 = uVar24 * 0x100;" (assignment_expression "uVar11 = uVar24 * 0x100" identifier = (binary_expression "uVar24 * 0x100" identifier * number_literal)) ;) (expression_statement "uVar16 = uVar11 + pbVar9[9];" (assignment_expression "uVar16 = uVar11 + pbVar9[9]" identifier = (binary_expression "uVar11 + pbVar9[9]" identifier + (subscript_expression "pbVar9[9]" identifier [ number_literal ]))) ;) (expression_statement "uVar17 = uVar16 * 0x100;" (assignment_expression "uVar17 = uVar16 * 0x100" identifier = (binary_expression "uVar16 * 0x100" identifier * number_literal)) ;) (expression_statement "uVar18 = pbVar9[10] + uVar17;" (assignment_expression "uVar18 = pbVar9[10] + uVar17" identifier = (binary_expression "pbVar9[10] + uVar17" (subscript_expression "pbVar9[10]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "uVar19 = uVar18 * 0x100;" (assignment_expression "uVar19 = uVar18 * 0x100" identifier = (binary_expression "uVar18 * 0x100" identifier * number_literal)) ;) (expression_statement "local_40 = pbVar9 + 0xc;" (assignment_expression "local_40 = pbVar9 + 0xc" identifier = (binary_expression "pbVar9 + 0xc" identifier + number_literal)) ;) (expression_statement "local_3c = local_6c - 0xc;" (assignment_expression "local_3c = local_6c - 0xc" identifier = (binary_expression "local_6c - 0xc" identifier - number_literal)) ;) (expression_statement "local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);" (assignment_expression "local_38 = (uVar22 - 1) + (uint)(0xb < local_6c)" identifier = (binary_expression "(uVar22 - 1) + (uint)(0xb < local_6c)" (parenthesized_expression "(uVar22 - 1)" ( (binary_expression "uVar22 - 1" identifier - number_literal) )) + (call_expression "(uint)(0xb < local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xb < local_6c)" ( (binary_expression "0xb < local_6c" number_literal < identifier) ))))) ;) (if_statement "if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;" if (parenthesized_expression "(((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)" ( (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0" (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0" (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19)" (parenthesized_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18)" ( (binary_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18" (binary_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100" (parenthesized_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17))" ( (binary_expression "((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)" (parenthesized_expression "((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18)" ( (binary_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18" (binary_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100" (parenthesized_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9]))" ( (binary_expression "((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])" (parenthesized_expression "((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18)" ( (binary_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18" (binary_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100" (parenthesized_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15))" ( (binary_expression "((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)" (parenthesized_expression "((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)" ( (binary_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4" (binary_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100" (parenthesized_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8))" ( (binary_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" (binary_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100" (parenthesized_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8))" ( (binary_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" (binary_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100" (cast_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[5],(uint)bVar4 << 8)" identifier (argument_list "((uint)pbVar9[5],(uint)bVar4 << 8)" ( (cast_expression "(uint)pbVar9[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[5]" identifier [ number_literal ])) , (binary_expression "(uint)bVar4 << 8" (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) )))) * number_literal) + (cast_expression "(uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" identifier (argument_list "((uint)pbVar9[6],(uint)uVar5 << 8)" ( (cast_expression "(uint)pbVar9[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[6]" identifier [ number_literal ])) , (binary_expression "(uint)uVar5 << 8" (cast_expression "(uint)uVar5" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) ))))) )) * number_literal) + (cast_expression "(uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" identifier (argument_list "((uint)pbVar9[7],(uint)uVar6 << 8)" ( (cast_expression "(uint)pbVar9[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[7]" identifier [ number_literal ])) , (binary_expression "(uint)uVar6 << 8" (cast_expression "(uint)uVar6" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal) ))))) )) * number_literal) | (cast_expression "(uint)bVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + (cast_expression "(uint)CARRY4((uint)pbVar9[8],uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[8],uVar15)" identifier (argument_list "((uint)pbVar9[8],uVar15)" ( (cast_expression "(uint)pbVar9[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[8]" identifier [ number_literal ])) , identifier ))))) )) * number_literal) | (binary_expression "uVar24 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4(uVar11,(uint)pbVar9[9])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar11,(uint)pbVar9[9])" identifier (argument_list "(uVar11,(uint)pbVar9[9])" ( identifier , (cast_expression "(uint)pbVar9[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[9]" identifier [ number_literal ])) ))))) )) * number_literal) | (binary_expression "uVar16 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4((uint)pbVar9[10],uVar17)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[10],uVar17)" identifier (argument_list "((uint)pbVar9[10],uVar17)" ( (cast_expression "(uint)pbVar9[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[10]" identifier [ number_literal ])) , identifier ))))) )) * number_literal) | (binary_expression "uVar18 >> 0x18" identifier >> number_literal)) )) + (cast_expression "(uint)CARRY4((uint)pbVar9[0xb],uVar19)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pbVar9[0xb],uVar19)" identifier (argument_list "((uint)pbVar9[0xb],uVar19)" ( (cast_expression "(uint)pbVar9[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[0xb]" identifier [ number_literal ])) , identifier ))))) != number_literal) || (binary_expression "pbVar9[0xb] + uVar19 != 0" (binary_expression "pbVar9[0xb] + uVar19" (subscript_expression "pbVar9[0xb]" identifier [ number_literal ]) + identifier) != number_literal)) )) (goto_statement "goto LAB_00045a7f;" goto statement_identifier ;)) })) })) }) (else_clause "else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" else (compound_statement "{\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" { (expression_statement "uVar22 = FUN_0001be30(local_6c,uVar22);" (assignment_expression "uVar22 = FUN_0001be30(local_6c,uVar22)" identifier = (call_expression "FUN_0001be30(local_6c,uVar22)" identifier (argument_list "(local_6c,uVar22)" ( identifier , identifier )))) ;) (expression_statement "iVar8 = local_30;" (assignment_expression "iVar8 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }" if (parenthesized_expression "(local_30 != 1)" ( (binary_expression "local_30 != 1" identifier != number_literal) )) (compound_statement "{\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }" { (expression_statement "uVar14 = FUN_00022190();" (assignment_expression "uVar14 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);" (assignment_expression "uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5)" identifier = (call_expression "dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5)" identifier (argument_list "(0,"section \'%s\' has unsupported compress type: %d\n",5)" ( number_literal , (string_literal ""section \'%s\' has unsupported compress type: %d\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar12,uVar14,iVar8);" (call_expression "warn(uVar12,uVar14,iVar8)" identifier (argument_list "(uVar12,uVar14,iVar8)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_00045bd2:\n                local_60 = 0;" statement_identifier : (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;)) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) (goto_statement "goto LAB_00045562;" goto statement_identifier ;) })) (expression_statement "local_40 = pbVar9 + uVar22;" (assignment_expression "local_40 = pbVar9 + uVar22" identifier = (binary_expression "pbVar9 + uVar22" identifier + identifier)) ;) (expression_statement "bVar27 = local_3c < uVar22;" (assignment_expression "bVar27 = local_3c < uVar22" identifier = (binary_expression "local_3c < uVar22" identifier < identifier)) ;) (expression_statement "local_3c = local_3c - uVar22;" (assignment_expression "local_3c = local_3c - uVar22" identifier = (binary_expression "local_3c - uVar22" identifier - identifier)) ;) (expression_statement "local_38 = local_38 - bVar27;" (assignment_expression "local_38 = local_38 - bVar27" identifier = (binary_expression "local_38 - bVar27" identifier - identifier)) ;) (if_statement "if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }" if (parenthesized_expression "(local_28 != 0 || local_2c != 0)" ( (binary_expression "local_28 != 0 || local_2c != 0" (binary_expression "local_28 != 0" identifier != number_literal) || (binary_expression "local_2c != 0" identifier != number_literal)) )) (compound_statement "{\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }" { (labeled_statement "LAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);" statement_identifier : (expression_statement "iVar8 = FUN_0001d690(&local_3c);" (assignment_expression "iVar8 = FUN_0001d690(&local_3c)" identifier = (call_expression "FUN_0001d690(&local_3c)" identifier (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) )))) ;)) (if_statement "if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }" { (expression_statement "uVar14 = FUN_00022190();" (assignment_expression "uVar14 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Unable to decompress section %s\n",5)" identifier = (call_expression "dcgettext(0,"Unable to decompress section %s\n",5)" identifier (argument_list "(0,"Unable to decompress section %s\n",5)" ( number_literal , (string_literal ""Unable to decompress section %s\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar12,uVar14);" (call_expression "error(uVar12,uVar14)" identifier (argument_list "(uVar12,uVar14)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_00045bd2;" goto statement_identifier ;) })) (expression_statement "local_6c = local_3c;" (assignment_expression "local_6c = local_3c" identifier = identifier) ;) (expression_statement "pbVar23 = local_40;" (assignment_expression "pbVar23 = local_40" identifier = identifier) ;) })) }))) })) (expression_statement "local_40 = pbVar23;" (assignment_expression "local_40 = pbVar23" identifier = identifier) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar22 = *(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 "uVar15 = *(uint *)(param_1 + 0x5c);" (assignment_expression "uVar15 = *(uint *)(param_1 + 0x5c)" identifier = (pointer_expression "*(uint *)(param_1 + 0x5c)" * (cast_expression "(uint *)(param_1 + 0x5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (for_statement "for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }" for ( (assignment_expression "uVar11 = uVar15" identifier = identifier) ; (binary_expression "uVar11 < uVar15 + uVar22 * 0x48" identifier < (binary_expression "uVar15 + uVar22 * 0x48" identifier + (binary_expression "uVar22 * 0x48" identifier * number_literal))) ; (assignment_expression "uVar11 = uVar11 + 0x48" identifier = (binary_expression "uVar11 + 0x48" identifier + number_literal)) ) (compound_statement "{\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }" { (if_statement "if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }" if (parenthesized_expression "(((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22))" ( (binary_expression "((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)" (parenthesized_expression "((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0))))" ( (binary_expression "(((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))" (parenthesized_expression "(((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22))" ( (binary_expression "((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)" (parenthesized_expression "((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9))" ( (binary_expression "(*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)" (parenthesized_expression "(*(int *)(uVar11 + 4) == 4)" ( (binary_expression "*(int *)(uVar11 + 4) == 4" (pointer_expression "*(int *)(uVar11 + 4)" * (cast_expression "(int *)(uVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 4)" ( (binary_expression "uVar11 + 4" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(uVar11 + 4) == 9)" ( (binary_expression "*(int *)(uVar11 + 4) == 9" (pointer_expression "*(int *)(uVar11 + 4)" * (cast_expression "(int *)(uVar11 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 4)" ( (binary_expression "uVar11 + 4" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(uint *)(uVar11 + 0x2c) < uVar22)" ( (binary_expression "*(uint *)(uVar11 + 0x2c) < uVar22" (pointer_expression "*(uint *)(uVar11 + 0x2c)" * (cast_expression "(uint *)(uVar11 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x2c)" ( (binary_expression "uVar11 + 0x2c" identifier + number_literal) )))) < identifier) ))) )) && (parenthesized_expression "((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))" ( (parenthesized_expression "(local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0))" ( (binary_expression "local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)" (binary_expression "local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" identifier == (cast_expression "(uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" ( (binary_expression "uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48" identifier + (binary_expression "*(uint *)(uVar11 + 0x2c) * 0x48" (pointer_expression "*(uint *)(uVar11 + 0x2c)" * (cast_expression "(uint *)(uVar11 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x2c)" ( (binary_expression "uVar11 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) && (parenthesized_expression "(*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)" ( (binary_expression "*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0" (binary_expression "*(int *)(uVar11 + 0x24) != 0" (pointer_expression "*(int *)(uVar11 + 0x24)" * (cast_expression "(int *)(uVar11 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x24)" ( (binary_expression "uVar11 + 0x24" identifier + number_literal) )))) != number_literal) || (binary_expression "*(int *)(uVar11 + 0x20) != 0" (pointer_expression "*(int *)(uVar11 + 0x20)" * (cast_expression "(int *)(uVar11 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x20)" ( (binary_expression "uVar11 + 0x20" identifier + number_literal) )))) != number_literal)) ))) )) ))) )) && (parenthesized_expression "(*(uint *)(uVar11 + 0x28) < uVar22)" ( (binary_expression "*(uint *)(uVar11 + 0x28) < uVar22" (pointer_expression "*(uint *)(uVar11 + 0x28)" * (cast_expression "(uint *)(uVar11 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x28)" ( (binary_expression "uVar11 + 0x28" identifier + number_literal) )))) < identifier) ))) )) (compound_statement "{\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }" { (expression_statement "pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" identifier = (cast_expression "(char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" identifier (argument_list "(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" ( number_literal , (string_literal ""  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "puVar7 = PTR_stdout_000b3fd8;" (assignment_expression "puVar7 = PTR_stdout_000b3fd8" identifier = identifier) ;) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" identifier = false) ;) (expression_statement "pbVar20 = local_40 + local_6c;" (assignment_expression "pbVar20 = local_40 + local_6c" identifier = (binary_expression "local_40 + local_6c" identifier + identifier)) ;) (expression_statement "pbVar23 = local_40;" (assignment_expression "pbVar23 = local_40" identifier = identifier) ;) (while_statement "while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }" while (parenthesized_expression "(pbVar23 < pbVar20)" ( (binary_expression "pbVar23 < pbVar20" identifier < identifier) )) (compound_statement "{\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }" { (while_statement "while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }" while (parenthesized_expression "(((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0)" ( (binary_expression "((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0" (parenthesized_expression "((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10)" ( (binary_expression "(&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10" (subscript_expression "(&DAT_000995c0)[(uint)*pbVar23 * 2]" (parenthesized_expression "(&DAT_000995c0)" ( (pointer_expression "&DAT_000995c0" & identifier) )) [ (binary_expression "(uint)*pbVar23 * 2" (binary_expression "(uint)*pbVar23" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal) ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }" { (expression_statement "pbVar23 = pbVar23 + 1;" (assignment_expression "pbVar23 = pbVar23 + 1" identifier = (binary_expression "pbVar23 + 1" identifier + number_literal)) ;) (if_statement "if (pbVar20 == pbVar23) goto LAB_0004553c;" if (parenthesized_expression "(pbVar20 == pbVar23)" ( (binary_expression "pbVar20 == pbVar23" identifier == identifier) )) (goto_statement "goto LAB_0004553c;" goto statement_identifier ;)) })) (if_statement "if (pbVar20 <= pbVar23) break;" if (parenthesized_expression "(pbVar20 <= pbVar23)" ( (binary_expression "pbVar20 <= pbVar23" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);" (call_expression "printf("  [%6tx]  ",(int)pbVar23 - (int)local_40)" identifier (argument_list "("  [%6tx]  ",(int)pbVar23 - (int)local_40)" ( (string_literal ""  [%6tx]  "" " string_content ") , (binary_expression "(int)pbVar23 - (int)local_40" (cast_expression "(int)pbVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" if (parenthesized_expression "((int)pbVar20 - (int)pbVar23 == 0)" ( (binary_expression "(int)pbVar20 - (int)pbVar23 == 0" (binary_expression "(int)pbVar20 - (int)pbVar23" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar23" ( (type_descriptor "int" primitive_type) ) identifier)) == number_literal) )) (compound_statement "{\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<corrupt>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<corrupt>\n",5)" identifier (argument_list "(0,"<corrupt>\n",5)" ( number_literal , (string_literal ""<corrupt>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "pbVar23 = pbVar20;" (assignment_expression "pbVar23 = pbVar20" identifier = identifier) ;) }) (else_clause "else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" else (compound_statement "{\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" { (expression_statement "FUN_0001fd20();" (call_expression "FUN_0001fd20()" identifier (argument_list "()" ( ))) ;) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" identifier (argument_list "(10,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);" (assignment_expression "sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" identifier = (call_expression "strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" identifier (argument_list "((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" ( (cast_expression "(char *)pbVar23" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)pbVar20 - (int)pbVar23" (cast_expression "(int)pbVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar23 = pbVar23 + sVar13;" (assignment_expression "pbVar23 = pbVar23 + sVar13" identifier = (binary_expression "pbVar23 + sVar13" identifier + identifier)) ;) }))) (expression_statement "bVar27 = true;" (assignment_expression "bVar27 = true" identifier = true) ;) })) (labeled_statement "LAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" statement_identifier : (if_statement "if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" if (parenthesized_expression "(!bVar27)" ( (unary_expression "!bVar27" ! identifier) )) (compound_statement "{\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5)" identifier = (cast_expression "(char *)dcgettext(0,"  No strings found in this section.",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  No strings found in this section.",5)" identifier (argument_list "(0,"  No strings found in this section.",5)" ( number_literal , (string_literal ""  No strings found in this section."" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) }))) (expression_statement "free(pbVar9);" (call_expression "free(pbVar9)" identifier (argument_list "(pbVar9)" ( identifier ))) ;) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" identifier (argument_list "(10,*(FILE **)puVar7)" ( number_literal , (pointer_expression "*(FILE **)puVar7" * (cast_expression "(FILE **)puVar7" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) }))) (labeled_statement "LAB_00045562:\n        local_60 = uVar14;" statement_identifier : (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" identifier = identifier) ;)) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) (if_statement "if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }" if (parenthesized_expression "((bVar3 & 4) != 0)" ( (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" ( (binary_expression "bVar3 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }" { (labeled_statement "LAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" statement_identifier : (if_statement "if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" if (parenthesized_expression "(*(int *)(param_1 + 100) == 0)" ( (binary_expression "*(int *)(param_1 + 100) == 0" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }" { (expression_statement "pcVar10 = "<no-strings>";" (assignment_expression "pcVar10 = "<no-strings>"" identifier = (string_literal ""<no-strings>"" " string_content ")) ;) (labeled_statement "LAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);" statement_identifier : (expression_statement "local_78 = (byte *)dcgettext(0,pcVar10,5);" (assignment_expression "local_78 = (byte *)dcgettext(0,pcVar10,5)" identifier = (cast_expression "(byte *)dcgettext(0,pcVar10,5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar10,5)" identifier (argument_list "(0,pcVar10,5)" ( number_literal , identifier , number_literal ))))) ;)) }) (else_clause "else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" else (compound_statement "{\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" { (expression_statement "local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);" (assignment_expression "local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64)" identifier = (cast_expression "(byte *)(*(int *)(param_1 + 100) + *local_64)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 100) + *local_64)" ( (binary_expression "*(int *)(param_1 + 100) + *local_64" (pointer_expression "*(int *)(param_1 + 100)" * (cast_expression "(int *)(param_1 + 100)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 100)" ( (binary_expression "param_1 + 100" identifier + number_literal) )))) + (pointer_expression "*local_64" * identifier)) )))) ;) (if_statement "if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }" if (parenthesized_expression "(*(uint *)(param_1 + 0x68) <= *local_64)" ( (binary_expression "*(uint *)(param_1 + 0x68) <= *local_64" (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) <= (pointer_expression "*local_64" * identifier)) )) (compound_statement "{\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }" { (expression_statement "pcVar10 = "<corrupt>";" (assignment_expression "pcVar10 = "<corrupt>"" identifier = (string_literal ""<corrupt>"" " string_content ")) ;) (goto_statement "goto LAB_0004592b;" goto statement_identifier ;) })) })))) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" identifier = (call_expression "FUN_00022190()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) (if_statement "if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(local_64[9] == 0 && local_64[8] == 0)" ( (binary_expression "local_64[9] == 0 && local_64[8] == 0" (binary_expression "local_64[9] == 0" (subscript_expression "local_64[9]" identifier [ number_literal ]) == number_literal) && (binary_expression "local_64[8] == 0" (subscript_expression "local_64[8]" identifier [ number_literal ]) == number_literal)) )) (compound_statement "{\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }" { (expression_statement "pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" identifier (argument_list "(0,"\nSection \'%s\' has no debugging data.\n",5)" ( number_literal , (string_literal ""\nSection \'%s\' has no debugging data.\n"" " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" identifier (argument_list "(pcVar10,uVar12)" ( identifier , identifier ))) ;) }) (else_clause "else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" else (compound_statement "{\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" { (expression_statement "bVar27 = local_64[1] < 8;" (assignment_expression "bVar27 = local_64[1] < 8" identifier = (binary_expression "local_64[1] < 8" (subscript_expression "local_64[1]" identifier [ number_literal ]) < number_literal)) ;) (expression_statement "bVar28 = local_64[1] == 8;" (assignment_expression "bVar28 = local_64[1] == 8" identifier = (binary_expression "local_64[1] == 8" (subscript_expression "local_64[1]" identifier [ number_literal ]) == number_literal)) ;) (if_statement "if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }" { (expression_statement "pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";" (assignment_expression "pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n"" identifier = (string_literal ""section \'%s\' has the NOBITS type - its contents are unreliable.\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (labeled_statement "LAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);" statement_identifier : (expression_statement "pcVar10 = (char *)dcgettext(0,pcVar10,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,pcVar10,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar10,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar10,5)" identifier (argument_list "(0,pcVar10,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" identifier (argument_list "(pcVar10,uVar12)" ( identifier , identifier ))) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) }) (else_clause "else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" else (compound_statement "{\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" { (expression_statement "iVar8 = 0x11;" (assignment_expression "iVar8 = 0x11" identifier = number_literal) ;) (expression_statement "ppuVar21 = &PTR_s__debug_abbrev_000b4840;" (assignment_expression "ppuVar21 = &PTR_s__debug_abbrev_000b4840" identifier = (pointer_expression "&PTR_s__debug_abbrev_000b4840" & identifier)) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "pbVar9 = local_78;" (assignment_expression "pbVar9 = local_78" identifier = identifier) ;) (expression_statement "pbVar23 = (byte *)".gnu.linkonce.wi.";" (assignment_expression "pbVar23 = (byte *)".gnu.linkonce.wi."" identifier = (cast_expression "(byte *)".gnu.linkonce.wi."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.wi."" " string_content "))) ;) (do_statement "do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);" do (compound_statement "{\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar9 < *pbVar23;" (assignment_expression "bVar27 = *pbVar9 < *pbVar23" identifier = (binary_expression "*pbVar9 < *pbVar23" (pointer_expression "*pbVar9" * identifier) < (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "bVar28 = *pbVar9 == *pbVar23;" (assignment_expression "bVar28 = *pbVar9 == *pbVar23" identifier = (binary_expression "*pbVar9 == *pbVar23" (pointer_expression "*pbVar9" * identifier) == (pointer_expression "*pbVar23" * identifier))) ;) (expression_statement "pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar9 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "pbVar9 = (byte *)".debug_info";" (assignment_expression "pbVar9 = (byte *)".debug_info"" identifier = (cast_expression "(byte *)".debug_info"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_info"" " string_content "))) ;) (if_statement "if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }" if (parenthesized_expression "((!bVar27 && !bVar28) != bVar27)" ( (binary_expression "(!bVar27 && !bVar28) != bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" ( (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) != identifier) )) (compound_statement "{\n                pbVar9 = local_78;\n              }" { (expression_statement "pbVar9 = local_78;" (assignment_expression "pbVar9 = local_78" identifier = identifier) ;) })) (while_statement "while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }" while (parenthesized_expression "(iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0)" ( (comma_expression "iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0" (assignment_expression "iVar8 = strcmp(*ppuVar21,(char *)pbVar9)" identifier = (call_expression "strcmp(*ppuVar21,(char *)pbVar9)" identifier (argument_list "(*ppuVar21,(char *)pbVar9)" ( (pointer_expression "*ppuVar21" * identifier) , (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar8 != 0" identifier != number_literal)) )) (compound_statement "{\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }" { (expression_statement "bVar27 = local_6c < 4;" (assignment_expression "bVar27 = local_6c < 4" identifier = (binary_expression "local_6c < 4" identifier < number_literal)) ;) (expression_statement "bVar28 = local_6c == 4;" (assignment_expression "bVar28 = local_6c == 4" identifier = (binary_expression "local_6c == 4" identifier == number_literal)) ;) (if_statement "if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }" { (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)".debug_line.";" (assignment_expression "pbVar20 = (byte *)".debug_line."" identifier = (cast_expression "(byte *)".debug_line."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_line."" " string_content "))) ;) (do_statement "do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);" do (compound_statement "{\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar23 < *pbVar20;" (assignment_expression "bVar27 = *pbVar23 < *pbVar20" identifier = (binary_expression "*pbVar23 < *pbVar20" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar28 = *pbVar23 == *pbVar20;" (assignment_expression "bVar28 = *pbVar23 == *pbVar20" identifier = (binary_expression "*pbVar23 == *pbVar20" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (if_statement "if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;" if (parenthesized_expression "(((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0))" ( (binary_expression "((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)" (parenthesized_expression "((!bVar27 && !bVar28) == bVar27)" ( (binary_expression "(!bVar27 && !bVar28) == bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" ( (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) == identifier) )) || (parenthesized_expression "(iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)" ( (comma_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0" (assignment_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9)" identifier = (call_expression "strcmp(ppuVar21[1],(char *)pbVar9)" identifier (argument_list "(ppuVar21[1],(char *)pbVar9)" ( (subscript_expression "ppuVar21[1]" identifier [ number_literal ]) , (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (break_statement "break;" break ;)) }) (else_clause "else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" else (compound_statement "{\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" { (expression_statement "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);" (assignment_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9)" identifier = (call_expression "strcmp(ppuVar21[1],(char *)pbVar9)" identifier (argument_list "(ppuVar21[1],(char *)pbVar9)" ( (subscript_expression "ppuVar21[1]" identifier [ number_literal ]) , (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }" if (parenthesized_expression "(local_6c == 0x2a)" ( (binary_expression "local_6c == 0x2a" identifier == number_literal) )) (compound_statement "{\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }" { (expression_statement "pcVar10 = "Unrecognized debug section: %s\n";" (assignment_expression "pcVar10 = "Unrecognized debug section: %s\n"" identifier = (string_literal ""Unrecognized debug section: %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00045b1b;" goto statement_identifier ;) })) }))) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) (expression_statement "ppuVar21 = ppuVar21 + 0x10;" (assignment_expression "ppuVar21 = ppuVar21 + 0x10" identifier = (binary_expression "ppuVar21 + 0x10" identifier + number_literal)) ;) })) (expression_statement "local_58 = *(uint **)(param_1 + 0x5c);" (assignment_expression "local_58 = *(uint **)(param_1 + 0x5c)" identifier = (pointer_expression "*(uint **)(param_1 + 0x5c)" * (cast_expression "(uint **)(param_1 + 0x5c)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (if_statement "if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }" if (parenthesized_expression "((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58))" ( (binary_expression "(local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)" (parenthesized_expression "(local_58 == (uint *)0x0)" ( (binary_expression "local_58 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(local_58 = (uint *)FUN_00026450(), local_64 != local_58)" ( (comma_expression "local_58 = (uint *)FUN_00026450(), local_64 != local_58" (assignment_expression "local_58 = (uint *)FUN_00026450()" identifier = (cast_expression "(uint *)FUN_00026450()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00026450()" identifier (argument_list "()" ( ))))) , (binary_expression "local_64 != local_58" identifier != identifier)) ))) )) (compound_statement "{\n                FUN_00045060(local_6c);\n              }" { (expression_statement "FUN_00045060(local_6c);" (call_expression "FUN_00045060(local_6c)" identifier (argument_list "(local_6c)" ( identifier ))) ;) })) (expression_statement "bVar27 = local_6c < 4;" (assignment_expression "bVar27 = local_6c < 4" identifier = (binary_expression "local_6c < 4" identifier < number_literal)) ;) (expression_statement "bVar28 = local_6c == 4;" (assignment_expression "bVar28 = local_6c == 4" identifier = (binary_expression "local_6c == 4" identifier == number_literal)) ;) (if_statement "if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }" { (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)".debug_line.";" (assignment_expression "pbVar20 = (byte *)".debug_line."" identifier = (cast_expression "(byte *)".debug_line."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".debug_line."" " string_content "))) ;) (do_statement "do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" do (compound_statement "{\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar27 = *pbVar23 < *pbVar20;" (assignment_expression "bVar27 = *pbVar23 < *pbVar20" identifier = (binary_expression "*pbVar23 < *pbVar20" (pointer_expression "*pbVar23" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar28 = *pbVar23 == *pbVar20;" (assignment_expression "bVar28 = *pbVar23 == *pbVar20" identifier = (binary_expression "*pbVar23 == *pbVar20" (pointer_expression "*pbVar23" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" identifier = (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" identifier + (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (if_statement "if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;" if (parenthesized_expression "((!bVar27 && !bVar28) != bVar27)" ( (binary_expression "(!bVar27 && !bVar28) != bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" ( (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" ! identifier) && (unary_expression "!bVar28" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_000456c4;" goto statement_identifier ;)) (expression_statement "ppuVar21[2] = pbVar9;" (assignment_expression "ppuVar21[2] = pbVar9" (subscript_expression "ppuVar21[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" else (compound_statement "{\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" { (labeled_statement "LAB_000456c4:\n                pcVar10 = *ppuVar21;" statement_identifier : (expression_statement "pcVar10 = *ppuVar21;" (assignment_expression "pcVar10 = *ppuVar21" identifier = (pointer_expression "*ppuVar21" * identifier)) ;)) (expression_statement "iVar8 = strcmp(pcVar10,(char *)pbVar9);" (assignment_expression "iVar8 = strcmp(pcVar10,(char *)pbVar9)" identifier = (call_expression "strcmp(pcVar10,(char *)pbVar9)" identifier (argument_list "(pcVar10,(char *)pbVar9)" ( identifier , (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                  ppuVar21[2] = pcVar10;\n                }" { (expression_statement "ppuVar21[2] = pcVar10;" (assignment_expression "ppuVar21[2] = pcVar10" (subscript_expression "ppuVar21[2]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                  ppuVar21[2] = ppuVar21[1];\n                }" else (compound_statement "{\n                  ppuVar21[2] = ppuVar21[1];\n                }" { (expression_statement "ppuVar21[2] = ppuVar21[1];" (assignment_expression "ppuVar21[2] = ppuVar21[1]" (subscript_expression "ppuVar21[2]" identifier [ number_literal ]) = (subscript_expression "ppuVar21[1]" identifier [ number_literal ])) ;) }))) }))) (expression_statement "iVar8 = FUN_000418c0();" (assignment_expression "iVar8 = FUN_000418c0()" identifier = (call_expression "FUN_000418c0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }" { (expression_statement "DAT_000b5e68 = FUN_000623d0(param_1,local_70);" (assignment_expression "DAT_000b5e68 = FUN_000623d0(param_1,local_70)" identifier = (call_expression "FUN_000623d0(param_1,local_70)" identifier (argument_list "(param_1,local_70)" ( identifier , identifier )))) ;) (expression_statement "uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);" (assignment_expression "uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1)" identifier = (call_expression "(*(code *)ppuVar21[0xd])(ppuVar21,param_1)" (parenthesized_expression "(*(code *)ppuVar21[0xd])" ( (pointer_expression "*(code *)ppuVar21[0xd]" * (cast_expression "(code *)ppuVar21[0xd]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppuVar21[0xd]" identifier [ number_literal ]))) )) (argument_list "(ppuVar21,param_1)" ( identifier , identifier )))) ;) (expression_statement "DAT_000b5e68 = 0;" (assignment_expression "DAT_000b5e68 = 0" identifier = number_literal) ;) (if_statement "if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }" if (parenthesized_expression "((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0))))" ( (binary_expression "(local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))" (parenthesized_expression "(local_64 != local_58)" ( (binary_expression "local_64 != local_58" identifier != identifier) )) || (parenthesized_expression "((local_6c != 3 && (local_6c != 0)))" ( (parenthesized_expression "(local_6c != 3 && (local_6c != 0))" ( (binary_expression "local_6c != 3 && (local_6c != 0)" (binary_expression "local_6c != 3" identifier != number_literal) && (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n                  FUN_00045060(local_6c);\n                }" { (expression_statement "FUN_00045060(local_6c);" (call_expression "FUN_00045060(local_6c)" identifier (argument_list "(local_6c)" ( identifier ))) ;) })) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }" if (parenthesized_expression "((uVar22 & 1) != 0)" ( (binary_expression "(uVar22 & 1) != 0" (parenthesized_expression "(uVar22 & 1)" ( (binary_expression "uVar22 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar14 = local_60;\n                }" { (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" identifier = identifier) ;) })) })) }))) }))) })) }))) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" identifier = identifier) ;) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" identifier = (binary_expression "local_70 + 1" identifier + number_literal)) ;) (expression_statement "local_64 = local_64 + 0x12;" (assignment_expression "local_64 = local_64 + 0x12" identifier = (binary_expression "local_64 + 0x12" identifier + number_literal)) ;) (expression_statement "uVar22 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0x70)" identifier = (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;" if (parenthesized_expression "(*(uint *)(param_1 + 0x54) <= local_70)" ( (binary_expression "*(uint *)(param_1 + 0x54) <= local_70" (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) )))) <= identifier) )) (goto_statement "goto LAB_00045884;" goto statement_identifier ;)) }) while (parenthesized_expression "(local_70 < uVar22)" ( (binary_expression "local_70 < uVar22" identifier < identifier) )) ;) })))) (return_statement "return local_60;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) })) }))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (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 = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = 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 { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (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 = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) || (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (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 ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != LIT) || (binary_expression (unary_expression - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - IDENT) == (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )))) * LIT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) ))))) )) * LIT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) ))))) )) * LIT) | (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT ))))) )) * LIT) | (binary_expression IDENT >> LIT)) )) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ))))) )) * LIT) | (binary_expression IDENT >> LIT)) )) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT ))))) )) * LIT) | (binary_expression IDENT >> LIT)) )) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT ))))) != LIT) || (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) != LIT)) )) (goto_statement goto statement_identifier ;)) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT < (binary_expression IDENT + (binary_expression IDENT * LIT))) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) && (parenthesized_expression ( (binary_expression (binary_expression (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) )))) != LIT)) ))) )) ))) )) && (parenthesized_expression ( (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 = (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 ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT) ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (goto_statement goto statement_identifier ;) })) })))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence ")) ;) (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 ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression IDENT == LIT)) ))) )) (break_statement break ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) , (binary_expression IDENT != IDENT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) }))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) }))) }))) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })))) (return_statement return IDENT ;) })))
(function_definition "undefined4 __regparm3 FUN_000451e0(int param_1)\n\n{\n  undefined4 *puVar1;\n  uint *puVar2;\n  byte bVar3;\n  byte bVar4;\n  ushort uVar5;\n  uint3 uVar6;\n  undefined *puVar7;\n  char *__s1;\n  int iVar8;\n  byte *pbVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  size_t sVar13;\n  undefined4 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte *pbVar20;\n  undefined **ppuVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  byte *local_78;\n  uint local_70;\n  uint local_6c;\n  uint *local_64;\n  undefined4 local_60;\n  uint *local_58;\n  byte *local_40;\n  uint local_3c;\n  uint local_38;\n  int local_30;\n  int local_2c;\n  int local_28;\n  undefined4 uStack_14;\n  \n  bVar29 = 0;\n  uStack_14 = 0x451eb;\n  local_70 = *(uint *)(param_1 + 0x54);\n  puVar25 = DAT_000b6280;\n  if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }\n  local_64 = *(uint **)(param_1 + 0x5c);\n  local_60 = 1;\n  uVar22 = *(uint *)(param_1 + 0x70);\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }\n  return local_60;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000451e0(int param_1)" (identifier "FUN_000451e0") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  uint *puVar2;\n  byte bVar3;\n  byte bVar4;\n  ushort uVar5;\n  uint3 uVar6;\n  undefined *puVar7;\n  char *__s1;\n  int iVar8;\n  byte *pbVar9;\n  char *pcVar10;\n  uint uVar11;\n  undefined4 uVar12;\n  size_t sVar13;\n  undefined4 uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint uVar19;\n  byte *pbVar20;\n  undefined **ppuVar21;\n  uint uVar22;\n  byte *pbVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  byte *pbVar26;\n  bool bVar27;\n  bool bVar28;\n  byte bVar29;\n  byte *local_78;\n  uint local_70;\n  uint local_6c;\n  uint *local_64;\n  undefined4 local_60;\n  uint *local_58;\n  byte *local_40;\n  uint local_3c;\n  uint local_38;\n  int local_30;\n  int local_2c;\n  int local_28;\n  undefined4 uStack_14;\n  \n  bVar29 = 0;\n  uStack_14 = 0x451eb;\n  local_70 = *(uint *)(param_1 + 0x54);\n  puVar25 = DAT_000b6280;\n  if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }\n  local_64 = *(uint **)(param_1 + 0x5c);\n  local_60 = 1;\n  uVar22 = *(uint *)(param_1 + 0x70);\n  if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }\n  return local_60;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "ushort uVar5;" (type_identifier "ushort") (identifier "uVar5") (; ";")) (declaration "uint3 uVar6;" (type_identifier "uint3") (identifier "uVar6") (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "char *__s1;" (primitive_type "char") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "size_t sVar13;" (primitive_type "size_t") (identifier "sVar13") (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "undefined **ppuVar21;" (type_identifier "undefined") (pointer_declarator "**ppuVar21" (* "*") (pointer_declarator "*ppuVar21" (* "*") (identifier "ppuVar21"))) (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "byte *pbVar23;" (type_identifier "byte") (pointer_declarator "*pbVar23" (* "*") (identifier "pbVar23")) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "undefined4 *puVar25;" (type_identifier "undefined4") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "byte *pbVar26;" (type_identifier "byte") (pointer_declarator "*pbVar26" (* "*") (identifier "pbVar26")) (; ";")) (declaration "bool bVar27;" (primitive_type "bool") (identifier "bVar27") (; ";")) (declaration "bool bVar28;" (primitive_type "bool") (identifier "bVar28") (; ";")) (declaration "byte bVar29;" (type_identifier "byte") (identifier "bVar29") (; ";")) (declaration "byte *local_78;" (type_identifier "byte") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "uint *local_64;" (type_identifier "uint") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "uint *local_58;" (type_identifier "uint") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "byte *local_40;" (type_identifier "byte") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar29 = 0;" (assignment_expression "bVar29 = 0" (identifier "bVar29") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x451eb;" (assignment_expression "uStack_14 = 0x451eb" (identifier "uStack_14") (= "=") (number_literal "0x451eb")) (; ";")) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(uint *)(param_1 + 0x54)" (identifier "local_70") (= "=") (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 "puVar25 = DAT_000b6280;" (assignment_expression "puVar25 = DAT_000b6280" (identifier "puVar25") (= "=") (identifier "DAT_000b6280")) (; ";")) (if_statement "if (DAT_000b6280 != (undefined4 *)0x0) {\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }" (if "if") (parenthesized_expression "(DAT_000b6280 != (undefined4 *)0x0)" (( "(") (binary_expression "DAT_000b6280 != (undefined4 *)0x0" (identifier "DAT_000b6280") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);\n  }" ({ "{") (do_statement "do {\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);" (do "do") (compound_statement "{\n      bVar27 = false;\n      uVar22 = 0;\n      if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }\n      puVar1 = puVar25 + 2;\n      puVar25 = (undefined4 *)*puVar1;\n    }" ({ "{") (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" (identifier "uVar22") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_70 == 0) {\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }\n      else {\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" (if "if") (parenthesized_expression "(local_70 == 0)" (( "(") (binary_expression "local_70 == 0" (identifier "local_70") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000457c0:\n        uVar14 = *puVar25;\n        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);\n        warn(uVar12,uVar14);\n        local_70 = *(uint *)(param_1 + 0x54);\n      }" ({ "{") (labeled_statement "LAB_000457c0:\n        uVar14 = *puVar25;" (statement_identifier "LAB_000457c0") (: ":") (expression_statement "uVar14 = *puVar25;" (assignment_expression "uVar14 = *puVar25" (identifier "uVar14") (= "=") (pointer_expression "*puVar25" (* "*") (identifier "puVar25"))) (; ";"))) (expression_statement "uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" (identifier "dcgettext") (argument_list "(0,"Section \'%s\' was not dumped because it does not exist!\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Section \'%s\' was not dumped because it does not exist!\n"" (" """) (string_content "Section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " was not dumped because it does not exist!") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar12,uVar14);" (call_expression "warn(uVar12,uVar14)" (identifier "warn") (argument_list "(uVar12,uVar14)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar14") () ")"))) (; ";")) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(uint *)(param_1 + 0x54)" (identifier "local_70") (= "=") (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        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" (else "else") (compound_statement "{\n        do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);\nLAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;\n      }" ({ "{") (do_statement "do {\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        } while (uVar22 < local_70);" (do "do") (compound_statement "{\n          while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }\n          local_70 = *(uint *)(param_1 + 0x54);\n          uVar22 = uVar22 + 1;\n        }" ({ "{") (while_statement "while( true ) {\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            pcVar10 = (char *)*puVar25;\n            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);\n            if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }\n            iVar8 = strcmp(__s1,pcVar10);\n            if (iVar8 != 0) break;\n            uVar22 = uVar22 + 1;\n            FUN_0001e6b0();\n            local_70 = *(uint *)(param_1 + 0x54);\n            bVar27 = true;\n            if (local_70 <= uVar22) goto LAB_000452ac;\n          }" ({ "{") (expression_statement "pcVar10 = (char *)*puVar25;" (assignment_expression "pcVar10 = (char *)*puVar25" (identifier "pcVar10") (= "=") (cast_expression "(char *)*puVar25" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar25" (* "*") (identifier "puVar25")))) (; ";")) (expression_statement "puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);" (assignment_expression "puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" (identifier "puVar2") (= "=") (cast_expression "(uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x5c) + uVar22 * 0x48)" (( "(") (binary_expression "*(int *)(param_1 + 0x5c) + uVar22 * 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 "uVar22 * 0x48" (identifier "uVar22") (* "*") (number_literal "0x48"))) () ")")))) (; ";")) (if_statement "if (puVar2 == (uint *)0x0) {\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }\n            else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" (if "if") (parenthesized_expression "(puVar2 == (uint *)0x0)" (( "(") (binary_expression "puVar2 == (uint *)0x0" (identifier "puVar2") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              __s1 = (char *)dcgettext(0,"<none>",5);\n            }" ({ "{") (expression_statement "__s1 = (char *)dcgettext(0,"<none>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<none>",5)" (identifier "__s1") (= "=") (cast_expression "(char *)dcgettext(0,"<none>",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<none>",5)" (identifier "dcgettext") (argument_list "(0,"<none>",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<none>"" (" """) (string_content "<none>") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}")) (else_clause "else if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" (else "else") (if_statement "if (*(int *)(param_1 + 100) == 0) {\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }\n            else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 100) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 100) == 0" (pointer_expression "*(int *)(param_1 + 100)" (* "*") (cast_expression "(int *)(param_1 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              __s1 = (char *)dcgettext(0,"<no-strings>",5);\n            }" ({ "{") (expression_statement "__s1 = (char *)dcgettext(0,"<no-strings>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<no-strings>",5)" (identifier "__s1") (= "=") (cast_expression "(char *)dcgettext(0,"<no-strings>",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<no-strings>",5)" (identifier "dcgettext") (argument_list "(0,"<no-strings>",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<no-strings>"" (" """) (string_content "<no-strings>") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" (else "else") (compound_statement "{\n              uVar15 = *puVar2;\n              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);\n              if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }\n            }" ({ "{") (expression_statement "uVar15 = *puVar2;" (assignment_expression "uVar15 = *puVar2" (identifier "uVar15") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "__s1 = (char *)(*(int *)(param_1 + 100) + uVar15);" (assignment_expression "__s1 = (char *)(*(int *)(param_1 + 100) + uVar15)" (identifier "__s1") (= "=") (cast_expression "(char *)(*(int *)(param_1 + 100) + uVar15)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 100) + uVar15)" (( "(") (binary_expression "*(int *)(param_1 + 100) + uVar15" (pointer_expression "*(int *)(param_1 + 100)" (* "*") (cast_expression "(int *)(param_1 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (+ "+") (identifier "uVar15")) () ")")))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x68) <= uVar15) {\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x68) <= uVar15)" (( "(") (binary_expression "*(uint *)(param_1 + 0x68) <= uVar15" (pointer_expression "*(uint *)(param_1 + 0x68)" (* "*") (cast_expression "(uint *)(param_1 + 0x68)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (<= "<=") (identifier "uVar15")) () ")")) (compound_statement "{\n                __s1 = (char *)dcgettext(0,"<corrupt>",5);\n              }" ({ "{") (expression_statement "__s1 = (char *)dcgettext(0,"<corrupt>",5);" (assignment_expression "__s1 = (char *)dcgettext(0,"<corrupt>",5)" (identifier "__s1") (= "=") (cast_expression "(char *)dcgettext(0,"<corrupt>",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<corrupt>",5)" (identifier "dcgettext") (argument_list "(0,"<corrupt>",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<corrupt>"" (" """) (string_content "<corrupt>") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (} "}"))) (} "}")))))) (expression_statement "iVar8 = strcmp(__s1,pcVar10);" (assignment_expression "iVar8 = strcmp(__s1,pcVar10)" (identifier "iVar8") (= "=") (call_expression "strcmp(__s1,pcVar10)" (identifier "strcmp") (argument_list "(__s1,pcVar10)" (( "(") (identifier "__s1") (, ",") (identifier "pcVar10") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) break;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" (identifier "uVar22") (= "=") (binary_expression "uVar22 + 1" (identifier "uVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_0001e6b0();" (call_expression "FUN_0001e6b0()" (identifier "FUN_0001e6b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(uint *)(param_1 + 0x54)" (identifier "local_70") (= "=") (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 "bVar27 = true;" (assignment_expression "bVar27 = true" (identifier "bVar27") (= "=") (true "true")) (; ";")) (if_statement "if (local_70 <= uVar22) goto LAB_000452ac;" (if "if") (parenthesized_expression "(local_70 <= uVar22)" (( "(") (binary_expression "local_70 <= uVar22" (identifier "local_70") (<= "<=") (identifier "uVar22")) () ")")) (goto_statement "goto LAB_000452ac;" (goto "goto") (statement_identifier "LAB_000452ac") (; ";"))) (} "}"))) (expression_statement "local_70 = *(uint *)(param_1 + 0x54);" (assignment_expression "local_70 = *(uint *)(param_1 + 0x54)" (identifier "local_70") (= "=") (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 "uVar22 = uVar22 + 1;" (assignment_expression "uVar22 = uVar22 + 1" (identifier "uVar22") (= "=") (binary_expression "uVar22 + 1" (identifier "uVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar22 < local_70)" (( "(") (binary_expression "uVar22 < local_70" (identifier "uVar22") (< "<") (identifier "local_70")) () ")")) (; ";")) (labeled_statement "LAB_000452ac:\n        if (!bVar27) goto LAB_000457c0;" (statement_identifier "LAB_000452ac") (: ":") (if_statement "if (!bVar27) goto LAB_000457c0;" (if "if") (parenthesized_expression "(!bVar27)" (( "(") (unary_expression "!bVar27" (! "!") (identifier "bVar27")) () ")")) (goto_statement "goto LAB_000457c0;" (goto "goto") (statement_identifier "LAB_000457c0") (; ";")))) (} "}")))) (expression_statement "puVar1 = puVar25 + 2;" (assignment_expression "puVar1 = puVar25 + 2" (identifier "puVar1") (= "=") (binary_expression "puVar25 + 2" (identifier "puVar25") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar25 = (undefined4 *)*puVar1;" (assignment_expression "puVar25 = (undefined4 *)*puVar1" (identifier "puVar25") (= "=") (cast_expression "(undefined4 *)*puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *)*puVar1 != (undefined4 *)0x0)" (( "(") (binary_expression "(undefined4 *)*puVar1 != (undefined4 *)0x0" (cast_expression "(undefined4 *)*puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_64 = *(uint **)(param_1 + 0x5c);" (assignment_expression "local_64 = *(uint **)(param_1 + 0x5c)" (identifier "local_64") (= "=") (pointer_expression "*(uint **)(param_1 + 0x5c)" (* "*") (cast_expression "(uint **)(param_1 + 0x5c)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (expression_statement "local_60 = 1;" (assignment_expression "local_60 = 1" (identifier "local_60") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar22 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0x70)" (identifier "uVar22") (= "=") (pointer_expression "*(uint *)(param_1 + 0x70)" (* "*") (cast_expression "(uint *)(param_1 + 0x70)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (if_statement "if (local_70 == 0) {\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }\n  else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" (if "if") (parenthesized_expression "(local_70 == 0)" (( "(") (binary_expression "local_70 == 0" (identifier "local_70") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }\n  }" ({ "{") (labeled_statement "LAB_00045884:\n    if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" (statement_identifier "LAB_00045884") (: ":") (if_statement "if (local_70 < uVar22) {\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" (if "if") (parenthesized_expression "(local_70 < uVar22)" (( "(") (binary_expression "local_70 < uVar22" (identifier "local_70") (< "<") (identifier "uVar22")) () ")")) (compound_statement "{\n      do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));\n    }" ({ "{") (do_statement "do {\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      } while (local_70 < *(uint *)(param_1 + 0x70));" (do "do") (compound_statement "{\n        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }\n        local_70 = local_70 + 1;\n      }" ({ "{") (if_statement "if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 0x6c) + local_70)" (* "*") (cast_expression "(char *)(*(int *)(param_1 + 0x6c) + local_70)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x6c) + local_70)" (( "(") (binary_expression "*(int *)(param_1 + 0x6c) + local_70" (pointer_expression "*(int *)(param_1 + 0x6c)" (* "*") (cast_expression "(int *)(param_1 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")")))) (+ "+") (identifier "local_70")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);\n          warn(uVar14,local_70);\n          local_60 = 0;\n        }" ({ "{") (expression_statement "uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);" (assignment_expression "uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" (identifier "uVar14") (= "=") (call_expression "dcgettext(0,"Section %d was not dumped because it does not exist!\n",5)" (identifier "dcgettext") (argument_list "(0,"Section %d was not dumped because it does not exist!\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Section %d was not dumped because it does not exist!\n"" (" """) (string_content "Section %d was not dumped because it does not exist!") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar14,local_70);" (call_expression "warn(uVar14,local_70)" (identifier "warn") (argument_list "(uVar14,local_70)" (( "(") (identifier "uVar14") (, ",") (identifier "local_70") () ")"))) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" (identifier "local_70") (= "=") (binary_expression "local_70 + 1" (identifier "local_70") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_70 < *(uint *)(param_1 + 0x70))" (( "(") (binary_expression "local_70 < *(uint *)(param_1 + 0x70)" (identifier "local_70") (< "<") (pointer_expression "*(uint *)(param_1 + 0x70)" (* "*") (cast_expression "(uint *)(param_1 + 0x70)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")"))))) () ")")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" (else "else") (if_statement "if (uVar22 != 0) {\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" (if "if") (parenthesized_expression "(uVar22 != 0)" (( "(") (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_70 = 0;\n    do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);\n  }" ({ "{") (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    } while (local_70 < uVar22);" (do "do") (compound_statement "{\n      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);\n      if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }\n      local_60 = uVar14;\n      local_70 = local_70 + 1;\n      local_64 = local_64 + 0x12;\n      uVar22 = *(uint *)(param_1 + 0x70);\n      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;\n    }" ({ "{") (expression_statement "bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);" (assignment_expression "bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(*(int *)(param_1 + 0x6c) + local_70)" (* "*") (cast_expression "(byte *)(*(int *)(param_1 + 0x6c) + local_70)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x6c) + local_70)" (( "(") (binary_expression "*(int *)(param_1 + 0x6c) + local_70" (pointer_expression "*(int *)(param_1 + 0x6c)" (* "*") (cast_expression "(int *)(param_1 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")")))) (+ "+") (identifier "local_70")) () ")"))))) (; ";")) (if_statement "if ((bVar3 & 1) == 0) {\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }\n      else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "((bVar3 & 1) == 0)" (( "(") (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" (( "(") (binary_expression "bVar3 & 1" (identifier "bVar3") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((bVar3 & 0x10) == 0) goto LAB_00045314;\nLAB_00045399:\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 8) != 0) goto LAB_000453cd;\nLAB_00045326:\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }\n      }" ({ "{") (if_statement "if ((bVar3 & 0x10) == 0) goto LAB_00045314;" (if "if") (parenthesized_expression "((bVar3 & 0x10) == 0)" (( "(") (binary_expression "(bVar3 & 0x10) == 0" (parenthesized_expression "(bVar3 & 0x10)" (( "(") (binary_expression "bVar3 & 0x10" (identifier "bVar3") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045314;" (goto "goto") (statement_identifier "LAB_00045314") (; ";"))) (labeled_statement "LAB_00045399:\n        iVar8 = FUN_00041ce0();" (statement_identifier "LAB_00045399") (: ":") (expression_statement "iVar8 = FUN_00041ce0();" (assignment_expression "iVar8 = FUN_00041ce0()" (identifier "iVar8") (= "=") (call_expression "FUN_00041ce0()" (identifier "FUN_00041ce0") (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar8 != 0) {\n          uVar14 = local_60;\n        }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar14 = local_60;\n        }" ({ "{") (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (} "}"))) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" (identifier "local_60") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if ((bVar3 & 8) != 0) goto LAB_000453cd;" (if "if") (parenthesized_expression "((bVar3 & 8) != 0)" (( "(") (binary_expression "(bVar3 & 8) != 0" (parenthesized_expression "(bVar3 & 8)" (( "(") (binary_expression "bVar3 & 8" (identifier "bVar3") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000453cd;" (goto "goto") (statement_identifier "LAB_000453cd") (; ";"))) (labeled_statement "LAB_00045326:\n        uVar14 = local_60;" (statement_identifier "LAB_00045326") (: ":") (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";"))) (if_statement "if ((bVar3 & 4) != 0) {\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }" (if "if") (parenthesized_expression "((bVar3 & 4) != 0)" (( "(") (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" (( "(") (binary_expression "bVar3 & 4" (identifier "bVar3") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_64 != (uint *)0x0) goto LAB_0004556d;\n          pcVar10 = "<none>";\n          goto LAB_0004592b;\n        }" ({ "{") (if_statement "if (local_64 != (uint *)0x0) goto LAB_0004556d;" (if "if") (parenthesized_expression "(local_64 != (uint *)0x0)" (( "(") (binary_expression "local_64 != (uint *)0x0" (identifier "local_64") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004556d;" (goto "goto") (statement_identifier "LAB_0004556d") (; ";"))) (expression_statement "pcVar10 = "<none>";" (assignment_expression "pcVar10 = "<none>"" (identifier "pcVar10") (= "=") (string_literal ""<none>"" (" """) (string_content "<none>") (" """))) (; ";")) (goto_statement "goto LAB_0004592b;" (goto "goto") (statement_identifier "LAB_0004592b") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" (else "else") (compound_statement "{\n        iVar8 = FUN_00041ce0();\n        uVar14 = 0;\n        if (iVar8 != 0) {\n          uVar14 = local_60;\n        }\n        local_60 = uVar14;\n        if ((bVar3 & 0x10) != 0) goto LAB_00045399;\nLAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;\nLAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();\n        uVar14 = local_60;\n        if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }\nLAB_00045562:\n        local_60 = uVar14;\n        uVar14 = local_60;\n        if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "iVar8 = FUN_00041ce0();" (assignment_expression "iVar8 = FUN_00041ce0()" (identifier "iVar8") (= "=") (call_expression "FUN_00041ce0()" (identifier "FUN_00041ce0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar8 != 0) {\n          uVar14 = local_60;\n        }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar14 = local_60;\n        }" ({ "{") (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (} "}"))) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" (identifier "local_60") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if ((bVar3 & 0x10) != 0) goto LAB_00045399;" (if "if") (parenthesized_expression "((bVar3 & 0x10) != 0)" (( "(") (binary_expression "(bVar3 & 0x10) != 0" (parenthesized_expression "(bVar3 & 0x10)" (( "(") (binary_expression "bVar3 & 0x10" (identifier "bVar3") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045399;" (goto "goto") (statement_identifier "LAB_00045399") (; ";"))) (labeled_statement "LAB_00045314:\n        if ((bVar3 & 8) == 0) goto LAB_00045326;" (statement_identifier "LAB_00045314") (: ":") (if_statement "if ((bVar3 & 8) == 0) goto LAB_00045326;" (if "if") (parenthesized_expression "((bVar3 & 8) == 0)" (( "(") (binary_expression "(bVar3 & 8) == 0" (parenthesized_expression "(bVar3 & 8)" (( "(") (binary_expression "bVar3 & 8" (identifier "bVar3") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00045326;" (goto "goto") (statement_identifier "LAB_00045326") (; ";")))) (labeled_statement "LAB_000453cd:\n        pbVar9 = (byte *)FUN_00032770();" (statement_identifier "LAB_000453cd") (: ":") (expression_statement "pbVar9 = (byte *)FUN_00032770();" (assignment_expression "pbVar9 = (byte *)FUN_00032770()" (identifier "pbVar9") (= "=") (cast_expression "(byte *)FUN_00032770()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00032770()" (identifier "FUN_00032770") (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (pbVar9 == (byte *)0x0) {\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }\n        else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" (if "if") (parenthesized_expression "(pbVar9 == (byte *)0x0)" (( "(") (binary_expression "pbVar9 == (byte *)0x0" (identifier "pbVar9") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }\n        }" ({ "{") (if_statement "if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {\n            uVar14 = local_60;\n          }" (if "if") (parenthesized_expression "((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8))" (( "(") (binary_expression "(local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)" (parenthesized_expression "(local_64[9] != 0 || local_64[8] != 0)" (( "(") (binary_expression "local_64[9] != 0 || local_64[8] != 0" (binary_expression "local_64[9] != 0" (subscript_expression "local_64[9]" (identifier "local_64") ([ "[") (number_literal "9") (] "]")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_64[8] != 0" (subscript_expression "local_64[8]" (identifier "local_64") ([ "[") (number_literal "8") (] "]")) (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(uVar14 = 0, local_64[1] == 8)" (( "(") (comma_expression "uVar14 = 0, local_64[1] == 8" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (, ",") (binary_expression "local_64[1] == 8" (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "8"))) () ")"))) () ")")) (compound_statement "{\n            uVar14 = local_60;\n          }" ({ "{") (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" (else "else") (compound_statement "{\n          local_6c = local_64[8];\n          uVar22 = local_64[9];\n          uVar12 = FUN_00022190();\n          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);\n          printf(pcVar10,uVar12);\n          pbVar23 = pbVar9;\n          if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }\n          local_40 = pbVar23;\n          uVar22 = *(uint *)(param_1 + 0x54);\n          uVar15 = *(uint *)(param_1 + 0x5c);\n          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }\n          puVar7 = PTR_stdout_000b3fd8;\n          bVar27 = false;\n          pbVar20 = local_40 + local_6c;\n          pbVar23 = local_40;\n          while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }\nLAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }\n          free(pbVar9);\n          putc(10,*(FILE **)puVar7);\n        }" ({ "{") (expression_statement "local_6c = local_64[8];" (assignment_expression "local_6c = local_64[8]" (identifier "local_6c") (= "=") (subscript_expression "local_64[8]" (identifier "local_64") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "uVar22 = local_64[9];" (assignment_expression "uVar22 = local_64[9]" (identifier "uVar22") (= "=") (subscript_expression "local_64[9]" (identifier "local_64") ([ "[") (number_literal "9") (] "]"))) (; ";")) (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 *)dcgettext(0,"\nString dump of section \'%s\':\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"\nString dump of section \'%s\':\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"\nString dump of section \'%s\':\n",5)" (identifier "dcgettext") (argument_list "(0,"\nString dump of section \'%s\':\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nString dump of section \'%s\':\n"" (" """) (escape_sequence "\n") (string_content "String dump of section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ":") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" (identifier "printf") (argument_list "(pcVar10,uVar12)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" (identifier "pbVar23") (= "=") (identifier "pbVar9")) (; ";")) (if_statement "if (DAT_000b6320 != 0) {\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(DAT_000b6320 != 0)" (( "(") (binary_expression "DAT_000b6320 != 0" (identifier "DAT_000b6320") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_3c = local_6c;\n            local_38 = uVar22;\n            if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }\n          }" ({ "{") (expression_statement "local_3c = local_6c;" (assignment_expression "local_3c = local_6c" (identifier "local_3c") (= "=") (identifier "local_6c")) (; ";")) (expression_statement "local_38 = uVar22;" (assignment_expression "local_38 = uVar22" (identifier "local_38") (= "=") (identifier "uVar22")) (; ";")) (if_statement "if ((local_64[2] & 0x800) == 0) {\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }\n            else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" (if "if") (parenthesized_expression "((local_64[2] & 0x800) == 0)" (( "(") (binary_expression "(local_64[2] & 0x800) == 0" (parenthesized_expression "(local_64[2] & 0x800)" (( "(") (binary_expression "local_64[2] & 0x800" (subscript_expression "local_64[2]" (identifier "local_64") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);\n              bVar28 = -uVar22 == (uint)(0xc < local_6c);\n              if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }\n            }" ({ "{") (expression_statement "bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);" (assignment_expression "bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c)" (identifier "bVar27") (= "=") (binary_expression "uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c)" (binary_expression "uVar22 != 0" (identifier "uVar22") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "-uVar22 < (uint)(0xc < local_6c)" (unary_expression "-uVar22" (- "-") (identifier "uVar22")) (< "<") (call_expression "(uint)(0xc < local_6c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xc < local_6c)" (( "(") (binary_expression "0xc < local_6c" (number_literal "0xc") (< "<") (identifier "local_6c")) () ")")))))) (; ";")) (expression_statement "bVar28 = -uVar22 == (uint)(0xc < local_6c);" (assignment_expression "bVar28 = -uVar22 == (uint)(0xc < local_6c)" (identifier "bVar28") (= "=") (binary_expression "-uVar22 == (uint)(0xc < local_6c)" (unary_expression "-uVar22" (- "-") (identifier "uVar22")) (== "==") (call_expression "(uint)(0xc < local_6c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xc < local_6c)" (( "(") (binary_expression "0xc < local_6c" (number_literal "0xc") (< "<") (identifier "local_6c")) () ")"))))) (; ";")) (if_statement "if (bVar27) {\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }" (if "if") (parenthesized_expression "(bVar27)" (( "(") (identifier "bVar27") () ")")) (compound_statement "{\n                iVar8 = 5;\n                pbVar20 = pbVar9;\n                pbVar26 = &DAT_0007d05f;\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }\n              }" ({ "{") (expression_statement "iVar8 = 5;" (assignment_expression "iVar8 = 5" (identifier "iVar8") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar20 = pbVar9;" (assignment_expression "pbVar20 = pbVar9" (identifier "pbVar20") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "pbVar26 = &DAT_0007d05f;" (assignment_expression "pbVar26 = &DAT_0007d05f" (identifier "pbVar26") (= "=") (pointer_expression "&DAT_0007d05f" (& "&") (identifier "DAT_0007d05f"))) (; ";")) (do_statement "do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" (do "do") (compound_statement "{\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar20 < *pbVar26;\n                  bVar28 = *pbVar20 == *pbVar26;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;\n                }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar20 < *pbVar26;" (assignment_expression "bVar27 = *pbVar20 < *pbVar26" (identifier "bVar27") (= "=") (binary_expression "*pbVar20 < *pbVar26" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (< "<") (pointer_expression "*pbVar26" (* "*") (identifier "pbVar26")))) (; ";")) (expression_statement "bVar28 = *pbVar20 == *pbVar26;" (assignment_expression "bVar28 = *pbVar20 == *pbVar26" (identifier "bVar28") (= "=") (binary_expression "*pbVar20 == *pbVar26" (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")) (== "==") (pointer_expression "*pbVar26" (* "*") (identifier "pbVar26")))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1" (identifier "pbVar26") (= "=") (binary_expression "pbVar26 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar26 + (uint)bVar29 * -2" (identifier "pbVar26") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (if_statement "if ((!bVar27 && !bVar28) == bVar27) {\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }" (if "if") (parenthesized_expression "((!bVar27 && !bVar28) == bVar27)" (( "(") (binary_expression "(!bVar27 && !bVar28) == bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" (( "(") (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar28" (! "!") (identifier "bVar28"))) () ")")) (== "==") (identifier "bVar27")) () ")")) (compound_statement "{\n                  bVar4 = pbVar9[4];\n                  uVar5 = CONCAT11(bVar4,pbVar9[5]);\n                  uVar6 = CONCAT21(uVar5,pbVar9[6]);\n                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;\n                  uVar24 = pbVar9[8] + uVar15;\n                  uVar11 = uVar24 * 0x100;\n                  uVar16 = uVar11 + pbVar9[9];\n                  uVar17 = uVar16 * 0x100;\n                  uVar18 = pbVar9[10] + uVar17;\n                  uVar19 = uVar18 * 0x100;\n                  local_40 = pbVar9 + 0xc;\n                  local_3c = local_6c - 0xc;\n                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);\n                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;\n                }" ({ "{") (expression_statement "bVar4 = pbVar9[4];" (assignment_expression "bVar4 = pbVar9[4]" (identifier "bVar4") (= "=") (subscript_expression "pbVar9[4]" (identifier "pbVar9") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar5 = CONCAT11(bVar4,pbVar9[5]);" (assignment_expression "uVar5 = CONCAT11(bVar4,pbVar9[5])" (identifier "uVar5") (= "=") (call_expression "CONCAT11(bVar4,pbVar9[5])" (identifier "CONCAT11") (argument_list "(bVar4,pbVar9[5])" (( "(") (identifier "bVar4") (, ",") (subscript_expression "pbVar9[5]" (identifier "pbVar9") ([ "[") (number_literal "5") (] "]")) () ")")))) (; ";")) (expression_statement "uVar6 = CONCAT21(uVar5,pbVar9[6]);" (assignment_expression "uVar6 = CONCAT21(uVar5,pbVar9[6])" (identifier "uVar6") (= "=") (call_expression "CONCAT21(uVar5,pbVar9[6])" (identifier "CONCAT21") (argument_list "(uVar5,pbVar9[6])" (( "(") (identifier "uVar5") (, ",") (subscript_expression "pbVar9[6]" (identifier "pbVar9") ([ "[") (number_literal "6") (] "]")) () ")")))) (; ";")) (expression_statement "uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;" (assignment_expression "uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100" (identifier "uVar15") (= "=") (binary_expression "CONCAT31(uVar6,pbVar9[7]) * 0x100" (call_expression "CONCAT31(uVar6,pbVar9[7])" (identifier "CONCAT31") (argument_list "(uVar6,pbVar9[7])" (( "(") (identifier "uVar6") (, ",") (subscript_expression "pbVar9[7]" (identifier "pbVar9") ([ "[") (number_literal "7") (] "]")) () ")"))) (* "*") (number_literal "0x100"))) (; ";")) (expression_statement "uVar24 = pbVar9[8] + uVar15;" (assignment_expression "uVar24 = pbVar9[8] + uVar15" (identifier "uVar24") (= "=") (binary_expression "pbVar9[8] + uVar15" (subscript_expression "pbVar9[8]" (identifier "pbVar9") ([ "[") (number_literal "8") (] "]")) (+ "+") (identifier "uVar15"))) (; ";")) (expression_statement "uVar11 = uVar24 * 0x100;" (assignment_expression "uVar11 = uVar24 * 0x100" (identifier "uVar11") (= "=") (binary_expression "uVar24 * 0x100" (identifier "uVar24") (* "*") (number_literal "0x100"))) (; ";")) (expression_statement "uVar16 = uVar11 + pbVar9[9];" (assignment_expression "uVar16 = uVar11 + pbVar9[9]" (identifier "uVar16") (= "=") (binary_expression "uVar11 + pbVar9[9]" (identifier "uVar11") (+ "+") (subscript_expression "pbVar9[9]" (identifier "pbVar9") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "uVar17 = uVar16 * 0x100;" (assignment_expression "uVar17 = uVar16 * 0x100" (identifier "uVar17") (= "=") (binary_expression "uVar16 * 0x100" (identifier "uVar16") (* "*") (number_literal "0x100"))) (; ";")) (expression_statement "uVar18 = pbVar9[10] + uVar17;" (assignment_expression "uVar18 = pbVar9[10] + uVar17" (identifier "uVar18") (= "=") (binary_expression "pbVar9[10] + uVar17" (subscript_expression "pbVar9[10]" (identifier "pbVar9") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "uVar17"))) (; ";")) (expression_statement "uVar19 = uVar18 * 0x100;" (assignment_expression "uVar19 = uVar18 * 0x100" (identifier "uVar19") (= "=") (binary_expression "uVar18 * 0x100" (identifier "uVar18") (* "*") (number_literal "0x100"))) (; ";")) (expression_statement "local_40 = pbVar9 + 0xc;" (assignment_expression "local_40 = pbVar9 + 0xc" (identifier "local_40") (= "=") (binary_expression "pbVar9 + 0xc" (identifier "pbVar9") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "local_3c = local_6c - 0xc;" (assignment_expression "local_3c = local_6c - 0xc" (identifier "local_3c") (= "=") (binary_expression "local_6c - 0xc" (identifier "local_6c") (- "-") (number_literal "0xc"))) (; ";")) (expression_statement "local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);" (assignment_expression "local_38 = (uVar22 - 1) + (uint)(0xb < local_6c)" (identifier "local_38") (= "=") (binary_expression "(uVar22 - 1) + (uint)(0xb < local_6c)" (parenthesized_expression "(uVar22 - 1)" (( "(") (binary_expression "uVar22 - 1" (identifier "uVar22") (- "-") (number_literal "1")) () ")")) (+ "+") (call_expression "(uint)(0xb < local_6c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xb < local_6c)" (( "(") (binary_expression "0xb < local_6c" (number_literal "0xb") (< "<") (identifier "local_6c")) () ")"))))) (; ";")) (if_statement "if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)\n                  goto LAB_00045a7f;" (if "if") (parenthesized_expression "(((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)" (( "(") (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0" (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0" (binary_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +\n                      (uint)CARRY4((uint)pbVar9[0xb],uVar19)" (parenthesized_expression "((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18)" (( "(") (binary_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18" (binary_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100" (parenthesized_expression "(((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17))" (( "(") (binary_expression "((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +\n                       (uint)CARRY4((uint)pbVar9[10],uVar17)" (parenthesized_expression "((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18)" (( "(") (binary_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18" (binary_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100" (parenthesized_expression "(((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9]))" (( "(") (binary_expression "((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +\n                         (uint)CARRY4(uVar11,(uint)pbVar9[9])" (parenthesized_expression "((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18)" (( "(") (binary_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18" (binary_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100" (parenthesized_expression "(((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15))" (( "(") (binary_expression "((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)\n                           + (uint)CARRY4((uint)pbVar9[8],uVar15)" (parenthesized_expression "((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)" (( "(") (binary_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4" (binary_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100" (parenthesized_expression "(((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8))" (( "(") (binary_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +\n                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" (binary_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100" (parenthesized_expression "((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8))" (( "(") (binary_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +\n                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" (binary_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100" (cast_expression "(uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)pbVar9[5],(uint)bVar4 << 8)" (identifier "CARRY4") (argument_list "((uint)pbVar9[5],(uint)bVar4 << 8)" (( "(") (cast_expression "(uint)pbVar9[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[5]" (identifier "pbVar9") ([ "[") (number_literal "5") (] "]"))) (, ",") (binary_expression "(uint)bVar4 << 8" (cast_expression "(uint)bVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar4")) (<< "<<") (number_literal "8")) () ")")))) (* "*") (number_literal "0x100")) (+ "+") (cast_expression "(uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)" (identifier "CARRY4") (argument_list "((uint)pbVar9[6],(uint)uVar5 << 8)" (( "(") (cast_expression "(uint)pbVar9[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[6]" (identifier "pbVar9") ([ "[") (number_literal "6") (] "]"))) (, ",") (binary_expression "(uint)uVar5 << 8" (cast_expression "(uint)uVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar5")) (<< "<<") (number_literal "8")) () ")"))))) () ")")) (* "*") (number_literal "0x100")) (+ "+") (cast_expression "(uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)" (identifier "CARRY4") (argument_list "((uint)pbVar9[7],(uint)uVar6 << 8)" (( "(") (cast_expression "(uint)pbVar9[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[7]" (identifier "pbVar9") ([ "[") (number_literal "7") (] "]"))) (, ",") (binary_expression "(uint)uVar6 << 8" (cast_expression "(uint)uVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar6")) (<< "<<") (number_literal "8")) () ")"))))) () ")")) (* "*") (number_literal "0x100")) (| "|") (cast_expression "(uint)bVar4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar4"))) () ")")) (+ "+") (cast_expression "(uint)CARRY4((uint)pbVar9[8],uVar15)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)pbVar9[8],uVar15)" (identifier "CARRY4") (argument_list "((uint)pbVar9[8],uVar15)" (( "(") (cast_expression "(uint)pbVar9[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[8]" (identifier "pbVar9") ([ "[") (number_literal "8") (] "]"))) (, ",") (identifier "uVar15") () ")"))))) () ")")) (* "*") (number_literal "0x100")) (| "|") (binary_expression "uVar24 >> 0x18" (identifier "uVar24") (>> ">>") (number_literal "0x18"))) () ")")) (+ "+") (cast_expression "(uint)CARRY4(uVar11,(uint)pbVar9[9])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar11,(uint)pbVar9[9])" (identifier "CARRY4") (argument_list "(uVar11,(uint)pbVar9[9])" (( "(") (identifier "uVar11") (, ",") (cast_expression "(uint)pbVar9[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[9]" (identifier "pbVar9") ([ "[") (number_literal "9") (] "]"))) () ")"))))) () ")")) (* "*") (number_literal "0x100")) (| "|") (binary_expression "uVar16 >> 0x18" (identifier "uVar16") (>> ">>") (number_literal "0x18"))) () ")")) (+ "+") (cast_expression "(uint)CARRY4((uint)pbVar9[10],uVar17)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)pbVar9[10],uVar17)" (identifier "CARRY4") (argument_list "((uint)pbVar9[10],uVar17)" (( "(") (cast_expression "(uint)pbVar9[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[10]" (identifier "pbVar9") ([ "[") (number_literal "10") (] "]"))) (, ",") (identifier "uVar17") () ")"))))) () ")")) (* "*") (number_literal "0x100")) (| "|") (binary_expression "uVar18 >> 0x18" (identifier "uVar18") (>> ">>") (number_literal "0x18"))) () ")")) (+ "+") (cast_expression "(uint)CARRY4((uint)pbVar9[0xb],uVar19)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4((uint)pbVar9[0xb],uVar19)" (identifier "CARRY4") (argument_list "((uint)pbVar9[0xb],uVar19)" (( "(") (cast_expression "(uint)pbVar9[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[0xb]" (identifier "pbVar9") ([ "[") (number_literal "0xb") (] "]"))) (, ",") (identifier "uVar19") () ")"))))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "pbVar9[0xb] + uVar19 != 0" (binary_expression "pbVar9[0xb] + uVar19" (subscript_expression "pbVar9[0xb]" (identifier "pbVar9") ([ "[") (number_literal "0xb") (] "]")) (+ "+") (identifier "uVar19")) (!= "!=") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00045a7f;" (goto "goto") (statement_identifier "LAB_00045a7f") (; ";"))) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" (else "else") (compound_statement "{\n              uVar22 = FUN_0001be30(local_6c,uVar22);\n              iVar8 = local_30;\n              if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }\n              local_40 = pbVar9 + uVar22;\n              bVar27 = local_3c < uVar22;\n              local_3c = local_3c - uVar22;\n              local_38 = local_38 - bVar27;\n              if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }\n            }" ({ "{") (expression_statement "uVar22 = FUN_0001be30(local_6c,uVar22);" (assignment_expression "uVar22 = FUN_0001be30(local_6c,uVar22)" (identifier "uVar22") (= "=") (call_expression "FUN_0001be30(local_6c,uVar22)" (identifier "FUN_0001be30") (argument_list "(local_6c,uVar22)" (( "(") (identifier "local_6c") (, ",") (identifier "uVar22") () ")")))) (; ";")) (expression_statement "iVar8 = local_30;" (assignment_expression "iVar8 = local_30" (identifier "iVar8") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 != 1) {\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }" (if "if") (parenthesized_expression "(local_30 != 1)" (( "(") (binary_expression "local_30 != 1" (identifier "local_30") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                uVar14 = FUN_00022190();\n                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);\n                warn(uVar12,uVar14,iVar8);\nLAB_00045bd2:\n                local_60 = 0;\n                uVar14 = local_60;\n                goto LAB_00045562;\n              }" ({ "{") (expression_statement "uVar14 = FUN_00022190();" (assignment_expression "uVar14 = FUN_00022190()" (identifier "uVar14") (= "=") (call_expression "FUN_00022190()" (identifier "FUN_00022190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);" (assignment_expression "uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5)" (identifier "dcgettext") (argument_list "(0,"section \'%s\' has unsupported compress type: %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""section \'%s\' has unsupported compress type: %d\n"" (" """) (string_content "section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " has unsupported compress type: %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar12,uVar14,iVar8);" (call_expression "warn(uVar12,uVar14,iVar8)" (identifier "warn") (argument_list "(uVar12,uVar14,iVar8)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar14") (, ",") (identifier "iVar8") () ")"))) (; ";")) (labeled_statement "LAB_00045bd2:\n                local_60 = 0;" (statement_identifier "LAB_00045bd2") (: ":") (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (goto_statement "goto LAB_00045562;" (goto "goto") (statement_identifier "LAB_00045562") (; ";")) (} "}"))) (expression_statement "local_40 = pbVar9 + uVar22;" (assignment_expression "local_40 = pbVar9 + uVar22" (identifier "local_40") (= "=") (binary_expression "pbVar9 + uVar22" (identifier "pbVar9") (+ "+") (identifier "uVar22"))) (; ";")) (expression_statement "bVar27 = local_3c < uVar22;" (assignment_expression "bVar27 = local_3c < uVar22" (identifier "bVar27") (= "=") (binary_expression "local_3c < uVar22" (identifier "local_3c") (< "<") (identifier "uVar22"))) (; ";")) (expression_statement "local_3c = local_3c - uVar22;" (assignment_expression "local_3c = local_3c - uVar22" (identifier "local_3c") (= "=") (binary_expression "local_3c - uVar22" (identifier "local_3c") (- "-") (identifier "uVar22"))) (; ";")) (expression_statement "local_38 = local_38 - bVar27;" (assignment_expression "local_38 = local_38 - bVar27" (identifier "local_38") (= "=") (binary_expression "local_38 - bVar27" (identifier "local_38") (- "-") (identifier "bVar27"))) (; ";")) (if_statement "if (local_28 != 0 || local_2c != 0) {\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }" (if "if") (parenthesized_expression "(local_28 != 0 || local_2c != 0)" (( "(") (binary_expression "local_28 != 0 || local_2c != 0" (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_2c != 0" (identifier "local_2c") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\nLAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);\n                if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }\n                local_6c = local_3c;\n                pbVar23 = local_40;\n              }" ({ "{") (labeled_statement "LAB_00045a7f:\n                iVar8 = FUN_0001d690(&local_3c);" (statement_identifier "LAB_00045a7f") (: ":") (expression_statement "iVar8 = FUN_0001d690(&local_3c);" (assignment_expression "iVar8 = FUN_0001d690(&local_3c)" (identifier "iVar8") (= "=") (call_expression "FUN_0001d690(&local_3c)" (identifier "FUN_0001d690") (argument_list "(&local_3c)" (( "(") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";"))) (if_statement "if (iVar8 == 0) {\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar14 = FUN_00022190();\n                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);\n                  error(uVar12,uVar14);\n                  goto LAB_00045bd2;\n                }" ({ "{") (expression_statement "uVar14 = FUN_00022190();" (assignment_expression "uVar14 = FUN_00022190()" (identifier "uVar14") (= "=") (call_expression "FUN_00022190()" (identifier "FUN_00022190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);" (assignment_expression "uVar12 = dcgettext(0,"Unable to decompress section %s\n",5)" (identifier "uVar12") (= "=") (call_expression "dcgettext(0,"Unable to decompress section %s\n",5)" (identifier "dcgettext") (argument_list "(0,"Unable to decompress section %s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Unable to decompress section %s\n"" (" """) (string_content "Unable to decompress section %s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar12,uVar14);" (call_expression "error(uVar12,uVar14)" (identifier "error") (argument_list "(uVar12,uVar14)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar14") () ")"))) (; ";")) (goto_statement "goto LAB_00045bd2;" (goto "goto") (statement_identifier "LAB_00045bd2") (; ";")) (} "}"))) (expression_statement "local_6c = local_3c;" (assignment_expression "local_6c = local_3c" (identifier "local_6c") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "pbVar23 = local_40;" (assignment_expression "pbVar23 = local_40" (identifier "pbVar23") (= "=") (identifier "local_40")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "local_40 = pbVar23;" (assignment_expression "local_40 = pbVar23" (identifier "local_40") (= "=") (identifier "pbVar23")) (; ";")) (expression_statement "uVar22 = *(uint *)(param_1 + 0x54);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0x54)" (identifier "uVar22") (= "=") (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 "uVar15 = *(uint *)(param_1 + 0x5c);" (assignment_expression "uVar15 = *(uint *)(param_1 + 0x5c)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(param_1 + 0x5c)" (* "*") (cast_expression "(uint *)(param_1 + 0x5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (for_statement "for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }" (for "for") (( "(") (assignment_expression "uVar11 = uVar15" (identifier "uVar11") (= "=") (identifier "uVar15")) (; ";") (binary_expression "uVar11 < uVar15 + uVar22 * 0x48" (identifier "uVar11") (< "<") (binary_expression "uVar15 + uVar22 * 0x48" (identifier "uVar15") (+ "+") (binary_expression "uVar22 * 0x48" (identifier "uVar22") (* "*") (number_literal "0x48")))) (; ";") (assignment_expression "uVar11 = uVar11 + 0x48" (identifier "uVar11") (= "=") (binary_expression "uVar11 + 0x48" (identifier "uVar11") (+ "+") (number_literal "0x48"))) () ")") (compound_statement "{\n            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }\n          }" ({ "{") (if_statement "if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)) {\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }" (if "if") (parenthesized_expression "(((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22))" (( "(") (binary_expression "((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&\n               (*(uint *)(uVar11 + 0x28) < uVar22)" (parenthesized_expression "((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0))))" (( "(") (binary_expression "(((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&\n                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))" (parenthesized_expression "(((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22))" (( "(") (binary_expression "((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&\n                 (*(uint *)(uVar11 + 0x2c) < uVar22)" (parenthesized_expression "((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9))" (( "(") (binary_expression "(*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)" (parenthesized_expression "(*(int *)(uVar11 + 4) == 4)" (( "(") (binary_expression "*(int *)(uVar11 + 4) == 4" (pointer_expression "*(int *)(uVar11 + 4)" (* "*") (cast_expression "(int *)(uVar11 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 4)" (( "(") (binary_expression "uVar11 + 4" (identifier "uVar11") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(uVar11 + 4) == 9)" (( "(") (binary_expression "*(int *)(uVar11 + 4) == 9" (pointer_expression "*(int *)(uVar11 + 4)" (* "*") (cast_expression "(int *)(uVar11 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 4)" (( "(") (binary_expression "uVar11 + 4" (identifier "uVar11") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "9")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(uVar11 + 0x2c) < uVar22)" (( "(") (binary_expression "*(uint *)(uVar11 + 0x2c) < uVar22" (pointer_expression "*(uint *)(uVar11 + 0x2c)" (* "*") (cast_expression "(uint *)(uVar11 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0x2c)" (( "(") (binary_expression "uVar11 + 0x2c" (identifier "uVar11") (+ "+") (number_literal "0x2c")) () ")")))) (< "<") (identifier "uVar22")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))" (( "(") (parenthesized_expression "(local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0))" (( "(") (binary_expression "local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&\n                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)" (binary_expression "local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" (identifier "local_64") (== "==") (cast_expression "(uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48)" (( "(") (binary_expression "uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48" (identifier "uVar15") (+ "+") (binary_expression "*(uint *)(uVar11 + 0x2c) * 0x48" (pointer_expression "*(uint *)(uVar11 + 0x2c)" (* "*") (cast_expression "(uint *)(uVar11 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0x2c)" (( "(") (binary_expression "uVar11 + 0x2c" (identifier "uVar11") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "0x48"))) () ")")))) (&& "&&") (parenthesized_expression "(*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)" (( "(") (binary_expression "*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0" (binary_expression "*(int *)(uVar11 + 0x24) != 0" (pointer_expression "*(int *)(uVar11 + 0x24)" (* "*") (cast_expression "(int *)(uVar11 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0x24)" (( "(") (binary_expression "uVar11 + 0x24" (identifier "uVar11") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "*(int *)(uVar11 + 0x20) != 0" (pointer_expression "*(int *)(uVar11 + 0x20)" (* "*") (cast_expression "(int *)(uVar11 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0x20)" (( "(") (binary_expression "uVar11 + 0x20" (identifier "uVar11") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(uVar11 + 0x28) < uVar22)" (( "(") (binary_expression "*(uint *)(uVar11 + 0x28) < uVar22" (pointer_expression "*(uint *)(uVar11 + 0x28)" (* "*") (cast_expression "(uint *)(uVar11 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0x28)" (( "(") (binary_expression "uVar11 + 0x28" (identifier "uVar11") (+ "+") (number_literal "0x28")) () ")")))) (< "<") (identifier "uVar22")) () ")"))) () ")")) (compound_statement "{\n              pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);\n              printf(pcVar10);\n              break;\n            }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" (identifier "dcgettext") (argument_list "(0,\n                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"\n                                          ,5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"" (" """) (string_content "  Note: This section has relocations against it, but these have NOT been applied to this dump.") (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") (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar7 = PTR_stdout_000b3fd8;" (assignment_expression "puVar7 = PTR_stdout_000b3fd8" (identifier "puVar7") (= "=") (identifier "PTR_stdout_000b3fd8")) (; ";")) (expression_statement "bVar27 = false;" (assignment_expression "bVar27 = false" (identifier "bVar27") (= "=") (false "false")) (; ";")) (expression_statement "pbVar20 = local_40 + local_6c;" (assignment_expression "pbVar20 = local_40 + local_6c" (identifier "pbVar20") (= "=") (binary_expression "local_40 + local_6c" (identifier "local_40") (+ "+") (identifier "local_6c"))) (; ";")) (expression_statement "pbVar23 = local_40;" (assignment_expression "pbVar23 = local_40" (identifier "pbVar23") (= "=") (identifier "local_40")) (; ";")) (while_statement "while (pbVar23 < pbVar20) {\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }" (while "while") (parenthesized_expression "(pbVar23 < pbVar20)" (( "(") (binary_expression "pbVar23 < pbVar20" (identifier "pbVar23") (< "<") (identifier "pbVar20")) () ")")) (compound_statement "{\n            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }\n            if (pbVar20 <= pbVar23) break;\n            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);\n            if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }\n            bVar27 = true;\n          }" ({ "{") (while_statement "while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }" (while "while") (parenthesized_expression "(((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0)" (( "(") (binary_expression "((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0" (parenthesized_expression "((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10)" (( "(") (binary_expression "(&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10" (subscript_expression "(&DAT_000995c0)[(uint)*pbVar23 * 2]" (parenthesized_expression "(&DAT_000995c0)" (( "(") (pointer_expression "&DAT_000995c0" (& "&") (identifier "DAT_000995c0")) () ")")) ([ "[") (binary_expression "(uint)*pbVar23 * 2" (binary_expression "(uint)*pbVar23" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar23")) (* "*") (number_literal "2")) (] "]")) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pbVar23 = pbVar23 + 1;\n              if (pbVar20 == pbVar23) goto LAB_0004553c;\n            }" ({ "{") (expression_statement "pbVar23 = pbVar23 + 1;" (assignment_expression "pbVar23 = pbVar23 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + 1" (identifier "pbVar23") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pbVar20 == pbVar23) goto LAB_0004553c;" (if "if") (parenthesized_expression "(pbVar20 == pbVar23)" (( "(") (binary_expression "pbVar20 == pbVar23" (identifier "pbVar20") (== "==") (identifier "pbVar23")) () ")")) (goto_statement "goto LAB_0004553c;" (goto "goto") (statement_identifier "LAB_0004553c") (; ";"))) (} "}"))) (if_statement "if (pbVar20 <= pbVar23) break;" (if "if") (parenthesized_expression "(pbVar20 <= pbVar23)" (( "(") (binary_expression "pbVar20 <= pbVar23" (identifier "pbVar20") (<= "<=") (identifier "pbVar23")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);" (call_expression "printf("  [%6tx]  ",(int)pbVar23 - (int)local_40)" (identifier "printf") (argument_list "("  [%6tx]  ",(int)pbVar23 - (int)local_40)" (( "(") (string_literal ""  [%6tx]  "" (" """) (string_content "  [%6tx]  ") (" """)) (, ",") (binary_expression "(int)pbVar23 - (int)local_40" (cast_expression "(int)pbVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar23")) (- "-") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) () ")"))) (; ";")) (if_statement "if ((int)pbVar20 - (int)pbVar23 == 0) {\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }\n            else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" (if "if") (parenthesized_expression "((int)pbVar20 - (int)pbVar23 == 0)" (( "(") (binary_expression "(int)pbVar20 - (int)pbVar23 == 0" (binary_expression "(int)pbVar20 - (int)pbVar23" (cast_expression "(int)pbVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar20")) (- "-") (cast_expression "(int)pbVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar23"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);\n              printf(pcVar10);\n              pbVar23 = pbVar20;\n            }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"<corrupt>\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<corrupt>\n",5)" (identifier "dcgettext") (argument_list "(0,"<corrupt>\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<corrupt>\n"" (" """) (string_content "<corrupt>") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (expression_statement "pbVar23 = pbVar20;" (assignment_expression "pbVar23 = pbVar20" (identifier "pbVar23") (= "=") (identifier "pbVar20")) (; ";")) (} "}")) (else_clause "else {\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" (else "else") (compound_statement "{\n              FUN_0001fd20();\n              putc(10,*(FILE **)puVar7);\n              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);\n              pbVar23 = pbVar23 + sVar13;\n            }" ({ "{") (expression_statement "FUN_0001fd20();" (call_expression "FUN_0001fd20()" (identifier "FUN_0001fd20") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" (identifier "putc") (argument_list "(10,*(FILE **)puVar7)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (expression_statement "sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);" (assignment_expression "sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" (identifier "sVar13") (= "=") (call_expression "strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" (identifier "strnlen") (argument_list "((char *)pbVar23,(int)pbVar20 - (int)pbVar23)" (( "(") (cast_expression "(char *)pbVar23" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar23")) (, ",") (binary_expression "(int)pbVar20 - (int)pbVar23" (cast_expression "(int)pbVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar20")) (- "-") (cast_expression "(int)pbVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar23"))) () ")")))) (; ";")) (expression_statement "pbVar23 = pbVar23 + sVar13;" (assignment_expression "pbVar23 = pbVar23 + sVar13" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + sVar13" (identifier "pbVar23") (+ "+") (identifier "sVar13"))) (; ";")) (} "}")))) (expression_statement "bVar27 = true;" (assignment_expression "bVar27 = true" (identifier "bVar27") (= "=") (true "true")) (; ";")) (} "}"))) (labeled_statement "LAB_0004553c:\n          if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" (statement_identifier "LAB_0004553c") (: ":") (if_statement "if (!bVar27) {\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" (if "if") (parenthesized_expression "(!bVar27)" (( "(") (unary_expression "!bVar27" (! "!") (identifier "bVar27")) () ")")) (compound_statement "{\n            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);\n            printf(pcVar10);\n          }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"  No strings found in this section.",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  No strings found in this section.",5)" (identifier "dcgettext") (argument_list "(0,"  No strings found in this section.",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  No strings found in this section."" (" """) (string_content "  No strings found in this section.") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10);" (call_expression "printf(pcVar10)" (identifier "printf") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (} "}")))) (expression_statement "free(pbVar9);" (call_expression "free(pbVar9)" (identifier "free") (argument_list "(pbVar9)" (( "(") (identifier "pbVar9") () ")"))) (; ";")) (expression_statement "putc(10,*(FILE **)puVar7);" (call_expression "putc(10,*(FILE **)puVar7)" (identifier "putc") (argument_list "(10,*(FILE **)puVar7)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(FILE **)puVar7" (* "*") (cast_expression "(FILE **)puVar7" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_00045562:\n        local_60 = uVar14;" (statement_identifier "LAB_00045562") (: ":") (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" (identifier "local_60") (= "=") (identifier "uVar14")) (; ";"))) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (if_statement "if ((bVar3 & 4) != 0) {\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "((bVar3 & 4) != 0)" (( "(") (binary_expression "(bVar3 & 4) != 0" (parenthesized_expression "(bVar3 & 4)" (( "(") (binary_expression "bVar3 & 4" (identifier "bVar3") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }\n          uVar12 = FUN_00022190();\n          uVar14 = local_60;\n          if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }\n        }" ({ "{") (labeled_statement "LAB_0004556d:\n          if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" (statement_identifier "LAB_0004556d") (: ":") (if_statement "if (*(int *)(param_1 + 100) == 0) {\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }\n          else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 100) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 100) == 0" (pointer_expression "*(int *)(param_1 + 100)" (* "*") (cast_expression "(int *)(param_1 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar10 = "<no-strings>";\nLAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);\n          }" ({ "{") (expression_statement "pcVar10 = "<no-strings>";" (assignment_expression "pcVar10 = "<no-strings>"" (identifier "pcVar10") (= "=") (string_literal ""<no-strings>"" (" """) (string_content "<no-strings>") (" """))) (; ";")) (labeled_statement "LAB_0004592b:\n            local_78 = (byte *)dcgettext(0,pcVar10,5);" (statement_identifier "LAB_0004592b") (: ":") (expression_statement "local_78 = (byte *)dcgettext(0,pcVar10,5);" (assignment_expression "local_78 = (byte *)dcgettext(0,pcVar10,5)" (identifier "local_78") (= "=") (cast_expression "(byte *)dcgettext(0,pcVar10,5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar10,5)" (identifier "dcgettext") (argument_list "(0,pcVar10,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar10") (, ",") (number_literal "5") () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" (else "else") (compound_statement "{\n            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);\n            if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }\n          }" ({ "{") (expression_statement "local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);" (assignment_expression "local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64)" (identifier "local_78") (= "=") (cast_expression "(byte *)(*(int *)(param_1 + 100) + *local_64)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 100) + *local_64)" (( "(") (binary_expression "*(int *)(param_1 + 100) + *local_64" (pointer_expression "*(int *)(param_1 + 100)" (* "*") (cast_expression "(int *)(param_1 + 100)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 100)" (( "(") (binary_expression "param_1 + 100" (identifier "param_1") (+ "+") (number_literal "100")) () ")")))) (+ "+") (pointer_expression "*local_64" (* "*") (identifier "local_64"))) () ")")))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x68) <= *local_64) {\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x68) <= *local_64)" (( "(") (binary_expression "*(uint *)(param_1 + 0x68) <= *local_64" (pointer_expression "*(uint *)(param_1 + 0x68)" (* "*") (cast_expression "(uint *)(param_1 + 0x68)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (<= "<=") (pointer_expression "*local_64" (* "*") (identifier "local_64"))) () ")")) (compound_statement "{\n              pcVar10 = "<corrupt>";\n              goto LAB_0004592b;\n            }" ({ "{") (expression_statement "pcVar10 = "<corrupt>";" (assignment_expression "pcVar10 = "<corrupt>"" (identifier "pcVar10") (= "=") (string_literal ""<corrupt>"" (" """) (string_content "<corrupt>") (" """))) (; ";")) (goto_statement "goto LAB_0004592b;" (goto "goto") (statement_identifier "LAB_0004592b") (; ";")) (} "}"))) (} "}"))))) (expression_statement "uVar12 = FUN_00022190();" (assignment_expression "uVar12 = FUN_00022190()" (identifier "uVar12") (= "=") (call_expression "FUN_00022190()" (identifier "FUN_00022190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (local_64[9] == 0 && local_64[8] == 0) {\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }\n          else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(local_64[9] == 0 && local_64[8] == 0)" (( "(") (binary_expression "local_64[9] == 0 && local_64[8] == 0" (binary_expression "local_64[9] == 0" (subscript_expression "local_64[9]" (identifier "local_64") ([ "[") (number_literal "9") (] "]")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "local_64[8] == 0" (subscript_expression "local_64[8]" (identifier "local_64") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);\n            printf(pcVar10,uVar12);\n          }" ({ "{") (expression_statement "pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5)" (identifier "dcgettext") (argument_list "(0,"\nSection \'%s\' has no debugging data.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""\nSection \'%s\' has no debugging data.\n"" (" """) (escape_sequence "\n") (string_content "Section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " has no debugging data.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" (identifier "printf") (argument_list "(pcVar10,uVar12)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" (else "else") (compound_statement "{\n            bVar27 = local_64[1] < 8;\n            bVar28 = local_64[1] == 8;\n            if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }\n          }" ({ "{") (expression_statement "bVar27 = local_64[1] < 8;" (assignment_expression "bVar27 = local_64[1] < 8" (identifier "bVar27") (= "=") (binary_expression "local_64[1] < 8" (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]")) (< "<") (number_literal "8"))) (; ";")) (expression_statement "bVar28 = local_64[1] == 8;" (assignment_expression "bVar28 = local_64[1] == 8" (identifier "bVar28") (= "=") (binary_expression "local_64[1] == 8" (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "8"))) (; ";")) (if_statement "if (bVar28) {\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }\n            else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (compound_statement "{\n              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";\nLAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);\n              printf(pcVar10,uVar12);\n              local_60 = 0;\n              uVar14 = local_60;\n            }" ({ "{") (expression_statement "pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";" (assignment_expression "pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n"" (identifier "pcVar10") (= "=") (string_literal ""section \'%s\' has the NOBITS type - its contents are unreliable.\n"" (" """) (string_content "section ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " has the NOBITS type - its contents are unreliable.") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_00045b1b:\n              pcVar10 = (char *)dcgettext(0,pcVar10,5);" (statement_identifier "LAB_00045b1b") (: ":") (expression_statement "pcVar10 = (char *)dcgettext(0,pcVar10,5);" (assignment_expression "pcVar10 = (char *)dcgettext(0,pcVar10,5)" (identifier "pcVar10") (= "=") (cast_expression "(char *)dcgettext(0,pcVar10,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar10,5)" (identifier "dcgettext") (argument_list "(0,pcVar10,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar10") (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar10,uVar12);" (call_expression "printf(pcVar10,uVar12)" (identifier "printf") (argument_list "(pcVar10,uVar12)" (( "(") (identifier "pcVar10") (, ",") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (} "}")) (else_clause "else {\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" (else "else") (compound_statement "{\n              iVar8 = 0x11;\n              ppuVar21 = &PTR_s__debug_abbrev_000b4840;\n              local_6c = 0;\n              pbVar9 = local_78;\n              pbVar23 = (byte *)".gnu.linkonce.wi.";\n              do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);\n              pbVar9 = (byte *)".debug_info";\n              if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }\n              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }\n              local_58 = *(uint **)(param_1 + 0x5c);\n              if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }\n              bVar27 = local_6c < 4;\n              bVar28 = local_6c == 4;\n              if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }\n              iVar8 = FUN_000418c0();\n              if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }\n            }" ({ "{") (expression_statement "iVar8 = 0x11;" (assignment_expression "iVar8 = 0x11" (identifier "iVar8") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "ppuVar21 = &PTR_s__debug_abbrev_000b4840;" (assignment_expression "ppuVar21 = &PTR_s__debug_abbrev_000b4840" (identifier "ppuVar21") (= "=") (pointer_expression "&PTR_s__debug_abbrev_000b4840" (& "&") (identifier "PTR_s__debug_abbrev_000b4840"))) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar9 = local_78;" (assignment_expression "pbVar9 = local_78" (identifier "pbVar9") (= "=") (identifier "local_78")) (; ";")) (expression_statement "pbVar23 = (byte *)".gnu.linkonce.wi.";" (assignment_expression "pbVar23 = (byte *)".gnu.linkonce.wi."" (identifier "pbVar23") (= "=") (cast_expression "(byte *)".gnu.linkonce.wi."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".gnu.linkonce.wi."" (" """) (string_content ".gnu.linkonce.wi.") (" """)))) (; ";")) (do_statement "do {\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              } while (bVar28);" (do "do") (compound_statement "{\n                if (iVar8 == 0) break;\n                iVar8 = iVar8 + -1;\n                bVar27 = *pbVar9 < *pbVar23;\n                bVar28 = *pbVar9 == *pbVar23;\n                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;\n                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n              }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar9 < *pbVar23;" (assignment_expression "bVar27 = *pbVar9 < *pbVar23" (identifier "bVar27") (= "=") (binary_expression "*pbVar9 < *pbVar23" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (< "<") (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")))) (; ";")) (expression_statement "bVar28 = *pbVar9 == *pbVar23;" (assignment_expression "bVar28 = *pbVar9 == *pbVar23" (identifier "bVar28") (= "=") (binary_expression "*pbVar9 == *pbVar23" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (== "==") (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar9 + (uint)bVar29 * -2" (identifier "pbVar9") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" (identifier "pbVar23") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (expression_statement "pbVar9 = (byte *)".debug_info";" (assignment_expression "pbVar9 = (byte *)".debug_info"" (identifier "pbVar9") (= "=") (cast_expression "(byte *)".debug_info"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".debug_info"" (" """) (string_content ".debug_info") (" """)))) (; ";")) (if_statement "if ((!bVar27 && !bVar28) != bVar27) {\n                pbVar9 = local_78;\n              }" (if "if") (parenthesized_expression "((!bVar27 && !bVar28) != bVar27)" (( "(") (binary_expression "(!bVar27 && !bVar28) != bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" (( "(") (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar28" (! "!") (identifier "bVar28"))) () ")")) (!= "!=") (identifier "bVar27")) () ")")) (compound_statement "{\n                pbVar9 = local_78;\n              }" ({ "{") (expression_statement "pbVar9 = local_78;" (assignment_expression "pbVar9 = local_78" (identifier "pbVar9") (= "=") (identifier "local_78")) (; ";")) (} "}"))) (while_statement "while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }" (while "while") (parenthesized_expression "(iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0)" (( "(") (comma_expression "iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0" (assignment_expression "iVar8 = strcmp(*ppuVar21,(char *)pbVar9)" (identifier "iVar8") (= "=") (call_expression "strcmp(*ppuVar21,(char *)pbVar9)" (identifier "strcmp") (argument_list "(*ppuVar21,(char *)pbVar9)" (( "(") (pointer_expression "*ppuVar21" (* "*") (identifier "ppuVar21")) (, ",") (cast_expression "(char *)pbVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar9")) () ")")))) (, ",") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n                bVar27 = local_6c < 4;\n                bVar28 = local_6c == 4;\n                if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }\n                local_6c = local_6c + 1;\n                ppuVar21 = ppuVar21 + 0x10;\n              }" ({ "{") (expression_statement "bVar27 = local_6c < 4;" (assignment_expression "bVar27 = local_6c < 4" (identifier "bVar27") (= "=") (binary_expression "local_6c < 4" (identifier "local_6c") (< "<") (number_literal "4"))) (; ";")) (expression_statement "bVar28 = local_6c == 4;" (assignment_expression "bVar28 = local_6c == 4" (identifier "bVar28") (= "=") (binary_expression "local_6c == 4" (identifier "local_6c") (== "==") (number_literal "4"))) (; ";")) (if_statement "if (bVar28) {\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }\n                else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" (if "if") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (compound_statement "{\n                  iVar8 = 0xc;\n                  pbVar23 = pbVar9;\n                  pbVar20 = (byte *)".debug_line.";\n                  do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);\n                  if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;\n                }" ({ "{") (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" (identifier "iVar8") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" (identifier "pbVar23") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "pbVar20 = (byte *)".debug_line.";" (assignment_expression "pbVar20 = (byte *)".debug_line."" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".debug_line."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".debug_line."" (" """) (string_content ".debug_line.") (" """)))) (; ";")) (do_statement "do {\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  } while (bVar28);" (do "do") (compound_statement "{\n                    if (iVar8 == 0) break;\n                    iVar8 = iVar8 + -1;\n                    bVar27 = *pbVar23 < *pbVar20;\n                    bVar28 = *pbVar23 == *pbVar20;\n                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                  }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar23 < *pbVar20;" (assignment_expression "bVar27 = *pbVar23 < *pbVar20" (identifier "bVar27") (= "=") (binary_expression "*pbVar23 < *pbVar20" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar28 = *pbVar23 == *pbVar20;" (assignment_expression "bVar28 = *pbVar23 == *pbVar20" (identifier "bVar28") (= "=") (binary_expression "*pbVar23 == *pbVar20" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" (identifier "pbVar23") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (if_statement "if (((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;" (if "if") (parenthesized_expression "(((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0))" (( "(") (binary_expression "((!bVar27 && !bVar28) == bVar27) ||\n                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)" (parenthesized_expression "((!bVar27 && !bVar28) == bVar27)" (( "(") (binary_expression "(!bVar27 && !bVar28) == bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" (( "(") (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar28" (! "!") (identifier "bVar28"))) () ")")) (== "==") (identifier "bVar27")) () ")")) (|| "||") (parenthesized_expression "(iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)" (( "(") (comma_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0" (assignment_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9)" (identifier "iVar8") (= "=") (call_expression "strcmp(ppuVar21[1],(char *)pbVar9)" (identifier "strcmp") (argument_list "(ppuVar21[1],(char *)pbVar9)" (( "(") (subscript_expression "ppuVar21[1]" (identifier "ppuVar21") ([ "[") (number_literal "1") (] "]")) (, ",") (cast_expression "(char *)pbVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar9")) () ")")))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (else_clause "else {\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);\n                  if (iVar8 == 0) break;\n                  if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }\n                }" ({ "{") (expression_statement "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);" (assignment_expression "iVar8 = strcmp(ppuVar21[1],(char *)pbVar9)" (identifier "iVar8") (= "=") (call_expression "strcmp(ppuVar21[1],(char *)pbVar9)" (identifier "strcmp") (argument_list "(ppuVar21[1],(char *)pbVar9)" (( "(") (subscript_expression "ppuVar21[1]" (identifier "ppuVar21") ([ "[") (number_literal "1") (] "]")) (, ",") (cast_expression "(char *)pbVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar9")) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (local_6c == 0x2a) {\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }" (if "if") (parenthesized_expression "(local_6c == 0x2a)" (( "(") (binary_expression "local_6c == 0x2a" (identifier "local_6c") (== "==") (number_literal "0x2a")) () ")")) (compound_statement "{\n                    pcVar10 = "Unrecognized debug section: %s\n";\n                    goto LAB_00045b1b;\n                  }" ({ "{") (expression_statement "pcVar10 = "Unrecognized debug section: %s\n";" (assignment_expression "pcVar10 = "Unrecognized debug section: %s\n"" (identifier "pcVar10") (= "=") (string_literal ""Unrecognized debug section: %s\n"" (" """) (string_content "Unrecognized debug section: %s") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_00045b1b;" (goto "goto") (statement_identifier "LAB_00045b1b") (; ";")) (} "}"))) (} "}")))) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" (identifier "local_6c") (= "=") (binary_expression "local_6c + 1" (identifier "local_6c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar21 = ppuVar21 + 0x10;" (assignment_expression "ppuVar21 = ppuVar21 + 0x10" (identifier "ppuVar21") (= "=") (binary_expression "ppuVar21 + 0x10" (identifier "ppuVar21") (+ "+") (number_literal "0x10"))) (; ";")) (} "}"))) (expression_statement "local_58 = *(uint **)(param_1 + 0x5c);" (assignment_expression "local_58 = *(uint **)(param_1 + 0x5c)" (identifier "local_58") (= "=") (pointer_expression "*(uint **)(param_1 + 0x5c)" (* "*") (cast_expression "(uint **)(param_1 + 0x5c)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (if_statement "if ((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {\n                FUN_00045060(local_6c);\n              }" (if "if") (parenthesized_expression "((local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58))" (( "(") (binary_expression "(local_58 == (uint *)0x0) ||\n                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)" (parenthesized_expression "(local_58 == (uint *)0x0)" (( "(") (binary_expression "local_58 == (uint *)0x0" (identifier "local_58") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(local_58 = (uint *)FUN_00026450(), local_64 != local_58)" (( "(") (comma_expression "local_58 = (uint *)FUN_00026450(), local_64 != local_58" (assignment_expression "local_58 = (uint *)FUN_00026450()" (identifier "local_58") (= "=") (cast_expression "(uint *)FUN_00026450()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00026450()" (identifier "FUN_00026450") (argument_list "()" (( "(") () ")"))))) (, ",") (binary_expression "local_64 != local_58" (identifier "local_64") (!= "!=") (identifier "local_58"))) () ")"))) () ")")) (compound_statement "{\n                FUN_00045060(local_6c);\n              }" ({ "{") (expression_statement "FUN_00045060(local_6c);" (call_expression "FUN_00045060(local_6c)" (identifier "FUN_00045060") (argument_list "(local_6c)" (( "(") (identifier "local_6c") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar27 = local_6c < 4;" (assignment_expression "bVar27 = local_6c < 4" (identifier "bVar27") (= "=") (binary_expression "local_6c < 4" (identifier "local_6c") (< "<") (number_literal "4"))) (; ";")) (expression_statement "bVar28 = local_6c == 4;" (assignment_expression "bVar28 = local_6c == 4" (identifier "bVar28") (= "=") (binary_expression "local_6c == 4" (identifier "local_6c") (== "==") (number_literal "4"))) (; ";")) (if_statement "if (bVar28) {\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }\n              else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" (if "if") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (compound_statement "{\n                iVar8 = 0xc;\n                pbVar23 = pbVar9;\n                pbVar20 = (byte *)".debug_line.";\n                do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);\n                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;\n                ppuVar21[2] = pbVar9;\n              }" ({ "{") (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" (identifier "iVar8") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar23 = pbVar9;" (assignment_expression "pbVar23 = pbVar9" (identifier "pbVar23") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "pbVar20 = (byte *)".debug_line.";" (assignment_expression "pbVar20 = (byte *)".debug_line."" (identifier "pbVar20") (= "=") (cast_expression "(byte *)".debug_line."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".debug_line."" (" """) (string_content ".debug_line.") (" """)))) (; ";")) (do_statement "do {\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                } while (bVar28);" (do "do") (compound_statement "{\n                  if (iVar8 == 0) break;\n                  iVar8 = iVar8 + -1;\n                  bVar27 = *pbVar23 < *pbVar20;\n                  bVar28 = *pbVar23 == *pbVar20;\n                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;\n                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;\n                }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar27 = *pbVar23 < *pbVar20;" (assignment_expression "bVar27 = *pbVar23 < *pbVar20" (identifier "bVar27") (= "=") (binary_expression "*pbVar23 < *pbVar20" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar28 = *pbVar23 == *pbVar20;" (assignment_expression "bVar28 = *pbVar23 == *pbVar20" (identifier "bVar28") (= "=") (binary_expression "*pbVar23 == *pbVar20" (pointer_expression "*pbVar23" (* "*") (identifier "pbVar23")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1" (identifier "pbVar23") (= "=") (binary_expression "pbVar23 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar23 + (uint)bVar29 * -2" (identifier "pbVar23") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (uint)bVar29 * -2 + 1" (binary_expression "pbVar20 + (uint)bVar29 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(uint)bVar29 * -2" (cast_expression "(uint)bVar29" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar29")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (if_statement "if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;" (if "if") (parenthesized_expression "((!bVar27 && !bVar28) != bVar27)" (( "(") (binary_expression "(!bVar27 && !bVar28) != bVar27" (parenthesized_expression "(!bVar27 && !bVar28)" (( "(") (binary_expression "!bVar27 && !bVar28" (unary_expression "!bVar27" (! "!") (identifier "bVar27")) (&& "&&") (unary_expression "!bVar28" (! "!") (identifier "bVar28"))) () ")")) (!= "!=") (identifier "bVar27")) () ")")) (goto_statement "goto LAB_000456c4;" (goto "goto") (statement_identifier "LAB_000456c4") (; ";"))) (expression_statement "ppuVar21[2] = pbVar9;" (assignment_expression "ppuVar21[2] = pbVar9" (subscript_expression "ppuVar21[2]" (identifier "ppuVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pbVar9")) (; ";")) (} "}")) (else_clause "else {\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" (else "else") (compound_statement "{\nLAB_000456c4:\n                pcVar10 = *ppuVar21;\n                iVar8 = strcmp(pcVar10,(char *)pbVar9);\n                if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }\n              }" ({ "{") (labeled_statement "LAB_000456c4:\n                pcVar10 = *ppuVar21;" (statement_identifier "LAB_000456c4") (: ":") (expression_statement "pcVar10 = *ppuVar21;" (assignment_expression "pcVar10 = *ppuVar21" (identifier "pcVar10") (= "=") (pointer_expression "*ppuVar21" (* "*") (identifier "ppuVar21"))) (; ";"))) (expression_statement "iVar8 = strcmp(pcVar10,(char *)pbVar9);" (assignment_expression "iVar8 = strcmp(pcVar10,(char *)pbVar9)" (identifier "iVar8") (= "=") (call_expression "strcmp(pcVar10,(char *)pbVar9)" (identifier "strcmp") (argument_list "(pcVar10,(char *)pbVar9)" (( "(") (identifier "pcVar10") (, ",") (cast_expression "(char *)pbVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar9")) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n                  ppuVar21[2] = pcVar10;\n                }\n                else {\n                  ppuVar21[2] = ppuVar21[1];\n                }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  ppuVar21[2] = pcVar10;\n                }" ({ "{") (expression_statement "ppuVar21[2] = pcVar10;" (assignment_expression "ppuVar21[2] = pcVar10" (subscript_expression "ppuVar21[2]" (identifier "ppuVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pcVar10")) (; ";")) (} "}")) (else_clause "else {\n                  ppuVar21[2] = ppuVar21[1];\n                }" (else "else") (compound_statement "{\n                  ppuVar21[2] = ppuVar21[1];\n                }" ({ "{") (expression_statement "ppuVar21[2] = ppuVar21[1];" (assignment_expression "ppuVar21[2] = ppuVar21[1]" (subscript_expression "ppuVar21[2]" (identifier "ppuVar21") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "ppuVar21[1]" (identifier "ppuVar21") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "iVar8 = FUN_000418c0();" (assignment_expression "iVar8 = FUN_000418c0()" (identifier "iVar8") (= "=") (call_expression "FUN_000418c0()" (identifier "FUN_000418c0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                DAT_000b5e68 = FUN_000623d0(param_1,local_70);\n                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);\n                DAT_000b5e68 = 0;\n                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }\n                uVar14 = 0;\n                if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }\n              }" ({ "{") (expression_statement "DAT_000b5e68 = FUN_000623d0(param_1,local_70);" (assignment_expression "DAT_000b5e68 = FUN_000623d0(param_1,local_70)" (identifier "DAT_000b5e68") (= "=") (call_expression "FUN_000623d0(param_1,local_70)" (identifier "FUN_000623d0") (argument_list "(param_1,local_70)" (( "(") (identifier "param_1") (, ",") (identifier "local_70") () ")")))) (; ";")) (expression_statement "uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);" (assignment_expression "uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1)" (identifier "uVar22") (= "=") (call_expression "(*(code *)ppuVar21[0xd])(ppuVar21,param_1)" (parenthesized_expression "(*(code *)ppuVar21[0xd])" (( "(") (pointer_expression "*(code *)ppuVar21[0xd]" (* "*") (cast_expression "(code *)ppuVar21[0xd]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "ppuVar21[0xd]" (identifier "ppuVar21") ([ "[") (number_literal "0xd") (] "]")))) () ")")) (argument_list "(ppuVar21,param_1)" (( "(") (identifier "ppuVar21") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "DAT_000b5e68 = 0;" (assignment_expression "DAT_000b5e68 = 0" (identifier "DAT_000b5e68") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {\n                  FUN_00045060(local_6c);\n                }" (if "if") (parenthesized_expression "((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0))))" (( "(") (binary_expression "(local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))" (parenthesized_expression "(local_64 != local_58)" (( "(") (binary_expression "local_64 != local_58" (identifier "local_64") (!= "!=") (identifier "local_58")) () ")")) (|| "||") (parenthesized_expression "((local_6c != 3 && (local_6c != 0)))" (( "(") (parenthesized_expression "(local_6c != 3 && (local_6c != 0))" (( "(") (binary_expression "local_6c != 3 && (local_6c != 0)" (binary_expression "local_6c != 3" (identifier "local_6c") (!= "!=") (number_literal "3")) (&& "&&") (parenthesized_expression "(local_6c != 0)" (( "(") (binary_expression "local_6c != 0" (identifier "local_6c") (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                  FUN_00045060(local_6c);\n                }" ({ "{") (expression_statement "FUN_00045060(local_6c);" (call_expression "FUN_00045060(local_6c)" (identifier "FUN_00045060") (argument_list "(local_6c)" (( "(") (identifier "local_6c") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((uVar22 & 1) != 0) {\n                  uVar14 = local_60;\n                }" (if "if") (parenthesized_expression "((uVar22 & 1) != 0)" (( "(") (binary_expression "(uVar22 & 1) != 0" (parenthesized_expression "(uVar22 & 1)" (( "(") (binary_expression "uVar22 & 1" (identifier "uVar22") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar14 = local_60;\n                }" ({ "{") (expression_statement "uVar14 = local_60;" (assignment_expression "uVar14 = local_60" (identifier "uVar14") (= "=") (identifier "local_60")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (} "}")))) (} "}"))) (} "}")))) (expression_statement "local_60 = uVar14;" (assignment_expression "local_60 = uVar14" (identifier "local_60") (= "=") (identifier "uVar14")) (; ";")) (expression_statement "local_70 = local_70 + 1;" (assignment_expression "local_70 = local_70 + 1" (identifier "local_70") (= "=") (binary_expression "local_70 + 1" (identifier "local_70") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_64 = local_64 + 0x12;" (assignment_expression "local_64 = local_64 + 0x12" (identifier "local_64") (= "=") (binary_expression "local_64 + 0x12" (identifier "local_64") (+ "+") (number_literal "0x12"))) (; ";")) (expression_statement "uVar22 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar22 = *(uint *)(param_1 + 0x70)" (identifier "uVar22") (= "=") (pointer_expression "*(uint *)(param_1 + 0x70)" (* "*") (cast_expression "(uint *)(param_1 + 0x70)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x54) <= local_70)" (( "(") (binary_expression "*(uint *)(param_1 + 0x54) <= local_70" (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")) () ")")))) (<= "<=") (identifier "local_70")) () ")")) (goto_statement "goto LAB_00045884;" (goto "goto") (statement_identifier "LAB_00045884") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(local_70 < uVar22)" (( "(") (binary_expression "local_70 < uVar22" (identifier "local_70") (< "<") (identifier "uVar22")) () ")")) (; ";")) (} "}"))))) (return_statement "return local_60;" (return "return") (identifier "local_60") (; ";")) (} "}")))

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

type_1 __regparm3 function_1(type_2 *filedata)

{
  type_3 **ppdVar1;
  type_4 *var_16;
  char **filedata_00;
  type_5 *sec;
  type_6 *var_36;
  type_6 *var_37;
  type_6 *var_38;
  type_6 *var_39;
  type_6 var_10;
  type_6 bVar8;
  type_7 *var_46;
  type_8 uVar10;
  type_9 uVar11;
  type_10 size;
  type_11 *puVar12;
  type_12 *puVar13;
  type_1 var_12;
  type_1 bVar15;
  type_12 *var_15;
  char *__format;
  type_7 *var_45;
  char *var_20;
  type_13 var_5;
  char *pcVar19;
  int var_8;
  type_13 var_6;
  type_13 var_30;
  type_13 var_31;
  type_13 var_32;
  type_13 var_33;
  type_14 *var_40;
  type_6 *var_23;
  type_11 **var_55;
  type_6 *var_22;
  type_13 var_29;
  type_3 *pdVar30;
  size_t var_47;
  type_6 *var_35;
  bool var_24;
  bool bVar34;
  type_6 bVar35;
  type_6 *local_78;
  type_13 var_2;
  type_15 var_21;
  type_2 *var_13;
  type_1 local_60;
  type_2 *var_56;
  type_12 *var_25;
  type_14 new_size;
  type_16 chdr;
  
  bVar35 = 0;
  var_2 = (filedata->file_header).e_shnum;
  pdVar30 = var_1;
  if (var_1 != (type_3 *)0x0) {
    do {
      var_24 = false;
      var_5 = 0;
      if (var_2 == 0) {
LAB_000457c0:
        var_20 = pdVar30->name;
        pcVar19 = (char *)var_3(0,"Section \'%s\' was not dumped because it does not exist!\n",5
                                   );
        var_4(pcVar19,var_20);
        var_2 = (filedata->file_header).e_shnum;
      }
      else {
        do {
          while( true ) {
            var_20 = pdVar30->name;
            if (filedata->section_headers + var_5 == (type_7 *)0x0) {
              pcVar19 = (char *)var_3(0,"<none>",5);
            }
            else if (filedata->string_table == (char *)0x0) {
              pcVar19 = (char *)var_3(0,"<no-strings>",5);
            }
            else {
              var_6 = filedata->section_headers[var_5].sh_name;
              pcVar19 = filedata->string_table + var_6;
              if (filedata->string_table_length <= var_6) {
                pcVar19 = (char *)var_3(0,"<corrupt>",5);
              }
            }
            var_8 = var_7(pcVar19,var_20);
            if (var_8 != 0) break;
            var_6 = var_5 + 1;
            var_9(filedata,var_5,pdVar30->type);
            var_2 = (filedata->file_header).e_shnum;
            var_24 = true;
            var_5 = var_6;
            if (var_2 <= var_6) goto LAB_000452ac;
          }
          var_2 = (filedata->file_header).e_shnum;
          var_5 = var_5 + 1;
        } while (var_5 < var_2);
LAB_000452ac:
        if (!var_24) goto LAB_000457c0;
      }
      ppdVar1 = &pdVar30->next;
      pdVar30 = *ppdVar1;
    } while (*ppdVar1 != (type_3 *)0x0);
  }
  var_13 = (type_2 *)filedata->section_headers;
  local_60 = 1;
  var_5 = filedata->num_dump_sects;
  if (var_2 == 0) {
LAB_00045884:
    if (var_2 < var_5) {
      do {
        if (filedata->dump_sects[var_2] != '\0') {
          var_20 = (char *)var_3(0,"Section %d was not dumped because it does not exist!\n",5);
          var_4(var_20,var_2);
          local_60 = 0;
        }
        var_2 = var_2 + 1;
      } while (var_2 < filedata->num_dump_sects);
    }
  }
  else if (var_5 != 0) {
    var_2 = 0;
    do {
      var_10 = filedata->dump_sects[var_2];
      if ((var_10 & 1) == 0) {
        if ((var_10 & 0x10) == 0) goto LAB_00045314;
LAB_00045399:
        var_12 = var_11((type_7 *)var_13,filedata,1);
        bVar15 = 0;
        if (var_12 != 0) {
          bVar15 = local_60;
        }
        local_60 = bVar15;
        if ((var_10 & 8) != 0) goto LAB_000453cd;
LAB_00045326:
        bVar15 = local_60;
        if ((var_10 & 4) != 0) {
          if (var_13 != (type_2 *)0x0) goto LAB_0004556d;
          var_20 = "<none>";
          goto LAB_0004592b;
        }
      }
      else {
        var_12 = var_11((type_7 *)var_13,filedata,0);
        bVar15 = 0;
        if (var_12 != 0) {
          bVar15 = local_60;
        }
        local_60 = bVar15;
        if ((var_10 & 0x10) != 0) goto LAB_00045399;
LAB_00045314:
        if ((var_10 & 8) == 0) goto LAB_00045326;
LAB_000453cd:
        var_15 = (type_12 *)var_14((type_7 *)var_13,filedata);
        bVar15 = local_60;
        var_25 = var_15;
        if (var_15 == (type_12 *)0x0) {
          if ((*(int *)((int)&(var_13->file_header).e_entry + 4) != 0 ||
               (int)(var_13->file_header).e_entry != 0) &&
             (bVar15 = 0, var_13->handle == (type_17 *)0x8)) {
            bVar15 = local_60;
          }
        }
        else {
          var_16 = &(var_13->file_header).e_entry;
          var_21 = (type_15)*var_16;
          var_20 = *(char **)((int)&(var_13->file_header).e_entry + 4);
          size = *var_16;
          filedata_00 = &filedata->string_table;
          sec = &filedata->string_table_length;
          pcVar19 = var_17
                              ((type_2 *)filedata_00,(type_7 *)sec,var_13);
          __format = (char *)var_3(0,"\nString dump of section \'%s\':\n",5);
          var_18(__format);
          puVar13 = var_25;
          if (var_19 != 0) {
            puVar13 = var_15;
            new_size._0_4_ = var_21;
            new_size._4_4_ = var_20;
            if ((var_13->file_size & 0x800) == 0) {
              var_24 = var_20 != (char *)0x0 || (type_13)-(int)var_20 < (type_13)(0xc < var_21);
              bVar34 = -(int)var_20 == (type_13)(0xc < var_21);
              if (var_24) {
                var_8 = 5;
                var_22 = var_25;
                var_23 = &DAT_0007d05f;
                do {
                  if (var_8 == 0) break;
                  var_8 = var_8 + -1;
                  var_24 = *var_22 < *var_23;
                  bVar34 = *var_22 == *var_23;
                  var_22 = var_22 + (type_13)bVar35 * -2 + 1;
                  var_23 = var_23 + (type_13)bVar35 * -2 + 1;
                } while (bVar34);
                if ((!var_24 && !bVar34) == var_24) {
                  bVar8 = var_25[4];
                  var_22 = var_25 + 5;
                  uVar10 = var_26(bVar8,*var_22);
                  var_23 = var_25 + 6;
                  uVar11 = var_27(uVar10,*var_23);
                  var_35 = var_25 + 7;
                  var_5 = var_28(uVar11,*var_35) * 0x100;
                  var_36 = var_25 + 8;
                  var_29 = *var_36 + var_5;
                  var_6 = var_29 * 0x100;
                  var_37 = var_25 + 9;
                  var_30 = var_6 + *var_37;
                  var_31 = var_30 * 0x100;
                  var_38 = var_25 + 10;
                  var_32 = *var_38 + var_31;
                  var_33 = var_32 * 0x100;
                  var_39 = var_25 + 0xb;
                  var_40 = (type_14 *)(*var_39 + var_33);
                  var_25 = var_25 + 0xc;
                  new_size._0_4_ = var_21 - 0xc;
                  new_size._4_4_ = var_20 + ((0xb < var_21) - 1);
                  var_20 = pcVar19;
                  if (((((((((((type_13)var_34((type_13)*var_22,(type_13)bVar8 << 8) * 0x100 +
                              (type_13)var_34((type_13)*var_23,(type_13)uVar10 << 8)) * 0x100 +
                             (type_13)var_34((type_13)*var_35,(type_13)uVar11 << 8)) * 0x100 | (type_13)bVar8)
                           + (type_13)var_34((type_13)*var_36,var_5)) * 0x100 | var_29 >> 0x18) +
                         (type_13)var_34(var_6,(type_13)*var_37)) * 0x100 | var_30 >> 0x18) +
                       (type_13)var_34((type_13)*var_38,var_31)) * 0x100 | var_32 >> 0x18) +
                      (type_13)var_34((type_13)*var_39,var_33) != 0 || var_40 != (type_14 *)0x0)
                  goto LAB_00045a7f;
                }
              }
            }
            else {
              var_6 = var_41(&chdr,var_25,size);
              var_5 = chdr.ch_type;
              if (chdr.ch_type != 1) {
                var_20 = var_17
                                    ((type_2 *)filedata_00,(type_7 *)sec,var_13);
                pcVar19 = (char *)var_3(0,"section \'%s\' has unsupported compress type: %d\n",5
                                           );
                var_4(pcVar19,var_20,var_5);
LAB_00045bd2:
                local_60 = 0;
                bVar15 = local_60;
                goto LAB_00045562;
              }
              var_25 = var_25 + var_6;
              var_24 = (type_13)new_size < var_6;
              new_size._0_4_ = (type_13)new_size - var_6;
              new_size._4_4_ = new_size._4_4_ + -(type_13)var_24;
              var_40 = (type_14 *)chdr.ch_size;
              if (chdr.ch_size._4_4_ != 0 ||
                  (type_14 *)chdr.ch_size != (type_14 *)0x0) {
LAB_00045a7f:
                var_12 = var_42(&var_25,var_43(var_20,&new_size),var_40);
                if (var_12 == 0) {
                  var_20 = var_17
                                      ((type_2 *)filedata_00,(type_7 *)sec,var_13);
                  pcVar19 = (char *)var_3(0,"Unable to decompress section %s\n",5);
                  var_44(pcVar19,var_20);
                  goto LAB_00045bd2;
                }
                var_21 = (type_13)new_size;
                puVar13 = var_25;
              }
            }
          }
          var_25 = puVar13;
          var_5 = (filedata->file_header).e_shnum;
          var_46 = filedata->section_headers;
          for (var_45 = var_46; var_45 < var_46 + var_5; var_45 = var_45 + 1) {
            if (((((var_45->sh_type == 4) || (var_45->sh_type == 9)) &&
                 (var_45->sh_info < var_5)) &&
                ((var_13 == (type_2 *)(var_46 + var_45->sh_info) &&
                 (*(int *)((int)&var_45->sh_size + 4) != 0 || (int)var_45->sh_size != 0)))) &&
               (var_45->sh_link < var_5)) {
              var_20 = (char *)var_3(0,
                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"
                                          ,5);
              var_18(var_20);
              break;
            }
          }
          puVar12 = PTR_stdout_000b3fd8;
          var_24 = false;
          var_23 = var_25 + var_21;
          var_22 = var_25;
          while (var_22 < var_23) {
            while ((_sch_istable[*var_22] & 0x10) == 0) {
              var_22 = var_22 + 1;
              if (var_23 == var_22) goto LAB_0004553c;
            }
            if (var_23 <= var_22) break;
            var_47 = (int)var_23 - (int)var_22;
            var_18("  [%6tx]  ",(int)var_22 - (int)var_25);
            if (var_47 == 0) {
              var_20 = (char *)var_3(0,"<corrupt>\n",5);
              var_18(var_20);
              var_22 = var_23;
            }
            else {
              var_48(var_47,(char *)var_22);
              var_49(10,*(type_17 **)puVar12);
              var_47 = var_50((char *)var_22,var_47);
              var_22 = var_22 + var_47;
            }
            var_24 = true;
          }
LAB_0004553c:
          if (!var_24) {
            var_20 = (char *)var_3(0,"  No strings found in this section.",5);
            var_18(var_20);
          }
          var_51(var_15);
          var_49(10,*(type_17 **)puVar12);
        }
LAB_00045562:
        local_60 = bVar15;
        bVar15 = local_60;
        if ((var_10 & 4) != 0) {
LAB_0004556d:
          if (filedata->string_table == (char *)0x0) {
            var_20 = "<no-strings>";
LAB_0004592b:
            local_78 = (type_6 *)var_3(0,var_20,5);
          }
          else {
            local_78 = (type_6 *)(filedata->string_table + (int)var_13->file_name);
            if ((char *)filedata->string_table_length <= var_13->file_name) {
              var_20 = "<corrupt>";
              goto LAB_0004592b;
            }
          }
          var_20 = var_17
                              ((type_2 *)&filedata->string_table,
                               (type_7 *)&filedata->string_table_length,var_13);
          bVar15 = local_60;
          if (*(int *)((int)&(var_13->file_header).e_entry + 4) == 0 &&
              (int)(var_13->file_header).e_entry == 0) {
            pcVar19 = (char *)var_3(0,"\nSection \'%s\' has no debugging data.\n",5);
            var_18(pcVar19,var_20);
          }
          else {
            var_24 = var_13->handle < (type_17 *)0x8;
            bVar34 = var_13->handle == (type_17 *)0x8;
            if (bVar34) {
              pcVar19 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";
LAB_00045b1b:
              pcVar19 = (char *)var_3(0,pcVar19,5);
              var_18(pcVar19,var_20);
              local_60 = 0;
              bVar15 = local_60;
            }
            else {
              var_8 = 0x11;
              var_55 = &debug_displays;
              var_21 = var_62;
              var_22 = local_78;
              var_23 = (type_6 *)".gnu.linkonce.wi.";
              do {
                if (var_8 == 0) break;
                var_8 = var_8 + -1;
                var_24 = *var_22 < *var_23;
                bVar34 = *var_22 == *var_23;
                var_22 = var_22 + (type_13)bVar35 * -2 + 1;
                var_23 = var_23 + (type_13)bVar35 * -2 + 1;
              } while (bVar34);
              var_22 = (type_6 *)".debug_info";
              if ((!var_24 && !bVar34) != var_24) {
                var_22 = local_78;
              }
              while (var_8 = var_7(*var_55,(char *)var_22), var_8 != 0) {
                var_24 = var_21 < var_52;
                bVar34 = var_21 == var_52;
                if (bVar34) {
                  var_8 = 0xc;
                  var_23 = var_22;
                  var_35 = (type_6 *)".debug_line.";
                  do {
                    if (var_8 == 0) break;
                    var_8 = var_8 + -1;
                    var_24 = *var_23 < *var_35;
                    bVar34 = *var_23 == *var_35;
                    var_23 = var_23 + (type_13)bVar35 * -2 + 1;
                    var_35 = var_35 + (type_13)bVar35 * -2 + 1;
                  } while (bVar34);
                  if (((!var_24 && !bVar34) == var_24) ||
                     (var_8 = var_7(var_55[1],(char *)var_22), var_8 == 0)) break;
                }
                else {
                  var_8 = var_7(var_55[1],(char *)var_22);
                  if (var_8 == 0) break;
                  if (var_21 == var_53) {
                    pcVar19 = "Unrecognized debug section: %s\n";
                    goto LAB_00045b1b;
                  }
                }
                var_21 = var_21 + var_54;
                var_55 = var_55 + 0x10;
              }
              var_56 = (type_2 *)filedata->section_headers;
              if ((var_56 == (type_2 *)0x0) ||
                 (var_56 = (type_2 *)var_57(filedata,(char *)var_22),
                 var_13 != var_56)) {
                var_58(var_21);
              }
              var_24 = var_21 < var_52;
              bVar34 = var_21 == var_52;
              if (bVar34) {
                var_8 = 0xc;
                var_23 = var_22;
                var_35 = (type_6 *)".debug_line.";
                do {
                  if (var_8 == 0) break;
                  var_8 = var_8 + -1;
                  var_24 = *var_23 < *var_35;
                  bVar34 = *var_23 == *var_35;
                  var_23 = var_23 + (type_13)bVar35 * -2 + 1;
                  var_35 = var_35 + (type_13)bVar35 * -2 + 1;
                } while (bVar34);
                if ((!var_24 && !bVar34) != var_24) goto LAB_000456c4;
                var_55[2] = var_22;
              }
              else {
LAB_000456c4:
                var_20 = *var_55;
                var_8 = var_7(var_20,(char *)var_22);
                if (var_8 == 0) {
                  var_55[2] = var_20;
                }
                else {
                  var_55[2] = var_55[1];
                }
              }
              var_12 = var_59(var_21,(type_7 *)var_13,filedata);
              if (var_12 != 0) {
                section_subset = var_60(filedata,var_2);
                var_5 = (*(type_18 *)var_55[0xd])(var_55,filedata);
                section_subset = (type_13 *)0x0;
                if ((var_13 != var_56) || ((var_21 != var_61 && (var_21 != var_62)))) {
                  var_58(var_21);
                }
                bVar15 = 0;
                if ((var_5 & 1) != 0) {
                  bVar15 = local_60;
                }
              }
            }
          }
        }
      }
      local_60 = bVar15;
      var_2 = var_2 + 1;
      var_13 = (type_2 *)&(var_13->file_header).e_phentsize;
      var_5 = filedata->num_dump_sects;
      if ((filedata->file_header).e_shnum <= var_2) goto LAB_00045884;
    } while (var_2 < var_5);
  }
  return local_60;
}


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

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

undefined4 __regparm3 MASKED(int param_1)

{
  undefined4 *puVar1;
  uint *puVar2;
  byte bVar3;
  byte bVar4;
  ushort uVar5;
  uint3 uVar6;
  undefined *puVar7;
  char *__s1;
  int iVar8;
  byte *pbVar9;
  char *pcVar10;
  uint uVar11;
  undefined4 uVar12;
  size_t sVar13;
  undefined4 uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  uint uVar19;
  byte *pbVar20;
  undefined **ppuVar21;
  uint uVar22;
  byte *pbVar23;
  uint uVar24;
  undefined4 *puVar25;
  byte *pbVar26;
  bool bVar27;
  bool bVar28;
  byte bVar29;
  byte *local_78;
  uint local_70;
  uint local_6c;
  uint *local_64;
  undefined4 local_60;
  uint *local_58;
  byte *local_40;
  uint local_3c;
  uint local_38;
  int local_30;
  int local_2c;
  int local_28;
  undefined4 uStack_14;
  
  bVar29 = 0;
  uStack_14 = 0x451eb;
  local_70 = *(uint *)(param_1 + 0x54);
  puVar25 = DAT_000b6280;
  if (DAT_000b6280 != (undefined4 *)0x0) {
    do {
      bVar27 = false;
      uVar22 = 0;
      if (local_70 == 0) {
LAB_000457c0:
        uVar14 = *puVar25;
        uVar12 = dcgettext(0,"Section \'%s\' was not dumped because it does not exist!\n",5);
        warn(uVar12,uVar14);
        local_70 = *(uint *)(param_1 + 0x54);
      }
      else {
        do {
          while( true ) {
            pcVar10 = (char *)*puVar25;
            puVar2 = (uint *)(*(int *)(param_1 + 0x5c) + uVar22 * 0x48);
            if (puVar2 == (uint *)0x0) {
              __s1 = (char *)dcgettext(0,"<none>",5);
            }
            else if (*(int *)(param_1 + 100) == 0) {
              __s1 = (char *)dcgettext(0,"<no-strings>",5);
            }
            else {
              uVar15 = *puVar2;
              __s1 = (char *)(*(int *)(param_1 + 100) + uVar15);
              if (*(uint *)(param_1 + 0x68) <= uVar15) {
                __s1 = (char *)dcgettext(0,"<corrupt>",5);
              }
            }
            iVar8 = strcmp(__s1,pcVar10);
            if (iVar8 != 0) break;
            uVar22 = uVar22 + 1;
            FUN_0001e6b0();
            local_70 = *(uint *)(param_1 + 0x54);
            bVar27 = true;
            if (local_70 <= uVar22) goto LAB_000452ac;
          }
          local_70 = *(uint *)(param_1 + 0x54);
          uVar22 = uVar22 + 1;
        } while (uVar22 < local_70);
LAB_000452ac:
        if (!bVar27) goto LAB_000457c0;
      }
      puVar1 = puVar25 + 2;
      puVar25 = (undefined4 *)*puVar1;
    } while ((undefined4 *)*puVar1 != (undefined4 *)0x0);
  }
  local_64 = *(uint **)(param_1 + 0x5c);
  local_60 = 1;
  uVar22 = *(uint *)(param_1 + 0x70);
  if (local_70 == 0) {
LAB_00045884:
    if (local_70 < uVar22) {
      do {
        if (*(char *)(*(int *)(param_1 + 0x6c) + local_70) != '\0') {
          uVar14 = dcgettext(0,"Section %d was not dumped because it does not exist!\n",5);
          warn(uVar14,local_70);
          local_60 = 0;
        }
        local_70 = local_70 + 1;
      } while (local_70 < *(uint *)(param_1 + 0x70));
    }
  }
  else if (uVar22 != 0) {
    local_70 = 0;
    do {
      bVar3 = *(byte *)(*(int *)(param_1 + 0x6c) + local_70);
      if ((bVar3 & 1) == 0) {
        if ((bVar3 & 0x10) == 0) goto LAB_00045314;
LAB_00045399:
        iVar8 = FUN_00041ce0();
        uVar14 = 0;
        if (iVar8 != 0) {
          uVar14 = local_60;
        }
        local_60 = uVar14;
        if ((bVar3 & 8) != 0) goto LAB_000453cd;
LAB_00045326:
        uVar14 = local_60;
        if ((bVar3 & 4) != 0) {
          if (local_64 != (uint *)0x0) goto LAB_0004556d;
          pcVar10 = "<none>";
          goto LAB_0004592b;
        }
      }
      else {
        iVar8 = FUN_00041ce0();
        uVar14 = 0;
        if (iVar8 != 0) {
          uVar14 = local_60;
        }
        local_60 = uVar14;
        if ((bVar3 & 0x10) != 0) goto LAB_00045399;
LAB_00045314:
        if ((bVar3 & 8) == 0) goto LAB_00045326;
LAB_000453cd:
        pbVar9 = (byte *)FUN_00032770();
        uVar14 = local_60;
        if (pbVar9 == (byte *)0x0) {
          if ((local_64[9] != 0 || local_64[8] != 0) && (uVar14 = 0, local_64[1] == 8)) {
            uVar14 = local_60;
          }
        }
        else {
          local_6c = local_64[8];
          uVar22 = local_64[9];
          uVar12 = FUN_00022190();
          pcVar10 = (char *)dcgettext(0,"\nString dump of section \'%s\':\n",5);
          printf(pcVar10,uVar12);
          pbVar23 = pbVar9;
          if (DAT_000b6320 != 0) {
            local_3c = local_6c;
            local_38 = uVar22;
            if ((local_64[2] & 0x800) == 0) {
              bVar27 = uVar22 != 0 || -uVar22 < (uint)(0xc < local_6c);
              bVar28 = -uVar22 == (uint)(0xc < local_6c);
              if (bVar27) {
                iVar8 = 5;
                pbVar20 = pbVar9;
                pbVar26 = &DAT_0007d05f;
                do {
                  if (iVar8 == 0) break;
                  iVar8 = iVar8 + -1;
                  bVar27 = *pbVar20 < *pbVar26;
                  bVar28 = *pbVar20 == *pbVar26;
                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
                  pbVar26 = pbVar26 + (uint)bVar29 * -2 + 1;
                } while (bVar28);
                if ((!bVar27 && !bVar28) == bVar27) {
                  bVar4 = pbVar9[4];
                  uVar5 = CONCAT11(bVar4,pbVar9[5]);
                  uVar6 = CONCAT21(uVar5,pbVar9[6]);
                  uVar15 = CONCAT31(uVar6,pbVar9[7]) * 0x100;
                  uVar24 = pbVar9[8] + uVar15;
                  uVar11 = uVar24 * 0x100;
                  uVar16 = uVar11 + pbVar9[9];
                  uVar17 = uVar16 * 0x100;
                  uVar18 = pbVar9[10] + uVar17;
                  uVar19 = uVar18 * 0x100;
                  local_40 = pbVar9 + 0xc;
                  local_3c = local_6c - 0xc;
                  local_38 = (uVar22 - 1) + (uint)(0xb < local_6c);
                  if (((((((((((uint)CARRY4((uint)pbVar9[5],(uint)bVar4 << 8) * 0x100 +
                              (uint)CARRY4((uint)pbVar9[6],(uint)uVar5 << 8)) * 0x100 +
                             (uint)CARRY4((uint)pbVar9[7],(uint)uVar6 << 8)) * 0x100 | (uint)bVar4)
                           + (uint)CARRY4((uint)pbVar9[8],uVar15)) * 0x100 | uVar24 >> 0x18) +
                         (uint)CARRY4(uVar11,(uint)pbVar9[9])) * 0x100 | uVar16 >> 0x18) +
                       (uint)CARRY4((uint)pbVar9[10],uVar17)) * 0x100 | uVar18 >> 0x18) +
                      (uint)CARRY4((uint)pbVar9[0xb],uVar19) != 0 || pbVar9[0xb] + uVar19 != 0)
                  goto LAB_00045a7f;
                }
              }
            }
            else {
              uVar22 = FUN_0001be30(local_6c,uVar22);
              iVar8 = local_30;
              if (local_30 != 1) {
                uVar14 = FUN_00022190();
                uVar12 = dcgettext(0,"section \'%s\' has unsupported compress type: %d\n",5);
                warn(uVar12,uVar14,iVar8);
LAB_00045bd2:
                local_60 = 0;
                uVar14 = local_60;
                goto LAB_00045562;
              }
              local_40 = pbVar9 + uVar22;
              bVar27 = local_3c < uVar22;
              local_3c = local_3c - uVar22;
              local_38 = local_38 - bVar27;
              if (local_28 != 0 || local_2c != 0) {
LAB_00045a7f:
                iVar8 = FUN_0001d690(&local_3c);
                if (iVar8 == 0) {
                  uVar14 = FUN_00022190();
                  uVar12 = dcgettext(0,"Unable to decompress section %s\n",5);
                  error(uVar12,uVar14);
                  goto LAB_00045bd2;
                }
                local_6c = local_3c;
                pbVar23 = local_40;
              }
            }
          }
          local_40 = pbVar23;
          uVar22 = *(uint *)(param_1 + 0x54);
          uVar15 = *(uint *)(param_1 + 0x5c);
          for (uVar11 = uVar15; uVar11 < uVar15 + uVar22 * 0x48; uVar11 = uVar11 + 0x48) {
            if (((((*(int *)(uVar11 + 4) == 4) || (*(int *)(uVar11 + 4) == 9)) &&
                 (*(uint *)(uVar11 + 0x2c) < uVar22)) &&
                ((local_64 == (uint *)(uVar15 + *(uint *)(uVar11 + 0x2c) * 0x48) &&
                 (*(int *)(uVar11 + 0x24) != 0 || *(int *)(uVar11 + 0x20) != 0)))) &&
               (*(uint *)(uVar11 + 0x28) < uVar22)) {
              pcVar10 = (char *)dcgettext(0,
                                          "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"
                                          ,5);
              printf(pcVar10);
              break;
            }
          }
          puVar7 = PTR_stdout_000b3fd8;
          bVar27 = false;
          pbVar20 = local_40 + local_6c;
          pbVar23 = local_40;
          while (pbVar23 < pbVar20) {
            while (((&DAT_000995c0)[(uint)*pbVar23 * 2] & 0x10) == 0) {
              pbVar23 = pbVar23 + 1;
              if (pbVar20 == pbVar23) goto LAB_0004553c;
            }
            if (pbVar20 <= pbVar23) break;
            printf("  [%6tx]  ",(int)pbVar23 - (int)local_40);
            if ((int)pbVar20 - (int)pbVar23 == 0) {
              pcVar10 = (char *)dcgettext(0,"<corrupt>\n",5);
              printf(pcVar10);
              pbVar23 = pbVar20;
            }
            else {
              FUN_0001fd20();
              putc(10,*(FILE **)puVar7);
              sVar13 = strnlen((char *)pbVar23,(int)pbVar20 - (int)pbVar23);
              pbVar23 = pbVar23 + sVar13;
            }
            bVar27 = true;
          }
LAB_0004553c:
          if (!bVar27) {
            pcVar10 = (char *)dcgettext(0,"  No strings found in this section.",5);
            printf(pcVar10);
          }
          free(pbVar9);
          putc(10,*(FILE **)puVar7);
        }
LAB_00045562:
        local_60 = uVar14;
        uVar14 = local_60;
        if ((bVar3 & 4) != 0) {
LAB_0004556d:
          if (*(int *)(param_1 + 100) == 0) {
            pcVar10 = "<no-strings>";
LAB_0004592b:
            local_78 = (byte *)dcgettext(0,pcVar10,5);
          }
          else {
            local_78 = (byte *)(*(int *)(param_1 + 100) + *local_64);
            if (*(uint *)(param_1 + 0x68) <= *local_64) {
              pcVar10 = "<corrupt>";
              goto LAB_0004592b;
            }
          }
          uVar12 = FUN_00022190();
          uVar14 = local_60;
          if (local_64[9] == 0 && local_64[8] == 0) {
            pcVar10 = (char *)dcgettext(0,"\nSection \'%s\' has no debugging data.\n",5);
            printf(pcVar10,uVar12);
          }
          else {
            bVar27 = local_64[1] < 8;
            bVar28 = local_64[1] == 8;
            if (bVar28) {
              pcVar10 = "section \'%s\' has the NOBITS type - its contents are unreliable.\n";
LAB_00045b1b:
              pcVar10 = (char *)dcgettext(0,pcVar10,5);
              printf(pcVar10,uVar12);
              local_60 = 0;
              uVar14 = local_60;
            }
            else {
              iVar8 = 0x11;
              ppuVar21 = &PTR_s__debug_abbrev_000b4840;
              local_6c = 0;
              pbVar9 = local_78;
              pbVar23 = (byte *)".gnu.linkonce.wi.";
              do {
                if (iVar8 == 0) break;
                iVar8 = iVar8 + -1;
                bVar27 = *pbVar9 < *pbVar23;
                bVar28 = *pbVar9 == *pbVar23;
                pbVar9 = pbVar9 + (uint)bVar29 * -2 + 1;
                pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
              } while (bVar28);
              pbVar9 = (byte *)".debug_info";
              if ((!bVar27 && !bVar28) != bVar27) {
                pbVar9 = local_78;
              }
              while (iVar8 = strcmp(*ppuVar21,(char *)pbVar9), iVar8 != 0) {
                bVar27 = local_6c < 4;
                bVar28 = local_6c == 4;
                if (bVar28) {
                  iVar8 = 0xc;
                  pbVar23 = pbVar9;
                  pbVar20 = (byte *)".debug_line.";
                  do {
                    if (iVar8 == 0) break;
                    iVar8 = iVar8 + -1;
                    bVar27 = *pbVar23 < *pbVar20;
                    bVar28 = *pbVar23 == *pbVar20;
                    pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
                    pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
                  } while (bVar28);
                  if (((!bVar27 && !bVar28) == bVar27) ||
                     (iVar8 = strcmp(ppuVar21[1],(char *)pbVar9), iVar8 == 0)) break;
                }
                else {
                  iVar8 = strcmp(ppuVar21[1],(char *)pbVar9);
                  if (iVar8 == 0) break;
                  if (local_6c == 0x2a) {
                    pcVar10 = "Unrecognized debug section: %s\n";
                    goto LAB_00045b1b;
                  }
                }
                local_6c = local_6c + 1;
                ppuVar21 = ppuVar21 + 0x10;
              }
              local_58 = *(uint **)(param_1 + 0x5c);
              if ((local_58 == (uint *)0x0) ||
                 (local_58 = (uint *)FUN_00026450(), local_64 != local_58)) {
                FUN_00045060(local_6c);
              }
              bVar27 = local_6c < 4;
              bVar28 = local_6c == 4;
              if (bVar28) {
                iVar8 = 0xc;
                pbVar23 = pbVar9;
                pbVar20 = (byte *)".debug_line.";
                do {
                  if (iVar8 == 0) break;
                  iVar8 = iVar8 + -1;
                  bVar27 = *pbVar23 < *pbVar20;
                  bVar28 = *pbVar23 == *pbVar20;
                  pbVar23 = pbVar23 + (uint)bVar29 * -2 + 1;
                  pbVar20 = pbVar20 + (uint)bVar29 * -2 + 1;
                } while (bVar28);
                if ((!bVar27 && !bVar28) != bVar27) goto LAB_000456c4;
                ppuVar21[2] = pbVar9;
              }
              else {
LAB_000456c4:
                pcVar10 = *ppuVar21;
                iVar8 = strcmp(pcVar10,(char *)pbVar9);
                if (iVar8 == 0) {
                  ppuVar21[2] = pcVar10;
                }
                else {
                  ppuVar21[2] = ppuVar21[1];
                }
              }
              iVar8 = FUN_000418c0();
              if (iVar8 != 0) {
                DAT_000b5e68 = FUN_000623d0(param_1,local_70);
                uVar22 = (*(code *)ppuVar21[0xd])(ppuVar21,param_1);
                DAT_000b5e68 = 0;
                if ((local_64 != local_58) || ((local_6c != 3 && (local_6c != 0)))) {
                  FUN_00045060(local_6c);
                }
                uVar14 = 0;
                if ((uVar22 & 1) != 0) {
                  uVar14 = local_60;
                }
              }
            }
          }
        }
      }
      local_60 = uVar14;
      local_70 = local_70 + 1;
      local_64 = local_64 + 0x12;
      uVar22 = *(uint *)(param_1 + 0x70);
      if (*(uint *)(param_1 + 0x54) <= local_70) goto LAB_00045884;
    } while (local_70 < uVar22);
  }
  return local_60;
}

