
/* WARNING: Removing unreachable block (ram,0x00014bf0) */

bfd_boolean display_file(char *filename)

{
  undefined *puVar1;
  bfd *file;
  int iVar2;
  bfd *file_00;
  bfd *pbVar3;
  symindex sVar4;
  undefined4 uVar5;
  bfd *pbVar6;
  undefined *puVar7;
  bfd_boolean bVar8;
  char *form;
  off_t oVar9;
  char **matching;
  code *local_30;
  undefined *local_2c;
  
  oVar9 = get_file_size(filename);
  if (oVar9 < 1) {
    return 0;
  }
  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);
  if (puVar7 == (undefined *)0x0) {
    puVar7 = PTR_DAT_0002a25c + -0x77f4;
  }
  file = (bfd *)(*(code *)PTR_bfd_openr_0002a3e4)(filename,puVar7);
  puVar7 = PTR_bfd_check_format_0002a2ec;
  if (file == (bfd *)0x0) {
    bfd_nonfatal(filename);
    return 0;
  }
  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {
    *(uint *)&file->field_0x28 = *(uint *)&file->field_0x28 | 0x400000;
  }
  iVar2 = (*(code *)puVar7)(file,2);
  puVar7 = PTR_DAT_0002a248;
  if (iVar2 == 0) {
    iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching);
    if (iVar2 == 0) {
      bfd_nonfatal(filename);
      iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();
      bVar8 = 0;
      if (iVar2 == 0xd) {
        list_matching_formats(matching);
        (*(code *)PTR_free_0002a3f4)(matching);
      }
      goto LAB_00014ae0;
    }
    set_print_width(file);
    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(filename);
    display_rel_file(file,(bfd *)0x0);
  }
  else {
    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename);
    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {
      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);
      puVar1 = PTR_DAT_0002a25c;
      if (sVar4 != 0xffffffff) {
        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);
        (*(code *)PTR_printf_0002a414)(uVar5);
        form = PTR_DAT_0002a25c + -0x6f68;
        do {
          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);
          if (pbVar6 == (bfd *)0x0) {
                    /* WARNING: Subroutine does not return */
            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);
          }
          if (*matching != (char *)0x0) {
            print_symname(form,*matching,file);
            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);
          }
          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);
        } while (sVar4 != 0xffffffff);
      }
    }
    puVar1 = PTR_DAT_0002a248;
    local_2c = PTR_DAT_0002a248;
    local_30 = (code *)(PTR_0002a254 + 0x30b4);
    file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0);
    pbVar6 = (bfd *)0x0;
    while (file_00 != (bfd *)0x0) {
      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);
      if (iVar2 == 0) {
        bfd_nonfatal(file_00->filename);
        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();
        if (iVar2 == 0xd) {
          list_matching_formats(matching);
          (*(code *)PTR_free_0002a3f4)(matching);
        }
      }
      else {
        set_print_width(file_00);
        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);
        (*local_30)(file_00,file);
      }
      if (pbVar6 != (bfd *)0x0) {
        (*(code *)PTR_bfd_close_0002a314)(pbVar6);
        *(undefined4 *)(puVar1 + -0x5b80) = 0;
        *(undefined4 *)(local_2c + -0x5b84) = 0;
        if (pbVar6 == file_00) goto LAB_00014adc;
      }
      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);
      pbVar6 = file_00;
      file_00 = pbVar3;
    }
    iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();
    if (iVar2 != 9) {
                    /* WARNING: Subroutine does not return */
      bfd_fatal(file->filename);
    }
    if (pbVar6 != (bfd *)0x0) {
      (*(code *)PTR_bfd_close_0002a314)(pbVar6);
      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;
      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;
    }
  }
LAB_00014adc:
  bVar8 = 1;
LAB_00014ae0:
  iVar2 = (*(code *)PTR_bfd_close_0002a314)(file);
  if (iVar2 != 0) {
    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;
    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;
    return bVar8;
  }
                    /* WARNING: Subroutine does not return */
  bfd_fatal(filename);
}



/* WARNING: Removing unreachable block (ram,0x00014bf0) */

undefined4 FUN_000148f0(undefined4 param_1)

{
  undefined *puVar1;
  undefined4 *puVar2;
  int iVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  undefined4 uVar8;
  undefined *puVar9;
  longlong lVar10;
  int *local_38 [2];
  code *local_30;
  undefined *local_2c;
  
  lVar10 = get_file_size();
  if (lVar10 < 1) {
    return 0;
  }
  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);
  if (puVar7 == (undefined *)0x0) {
    puVar7 = PTR_DAT_0002a25c + -0x77f4;
  }
  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);
  puVar7 = PTR_bfd_check_format_0002a2ec;
  if (puVar2 == (undefined4 *)0x0) {
    bfd_nonfatal(param_1);
    return 0;
  }
  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {
    puVar2[10] = puVar2[10] | 0x400000;
  }
  iVar3 = (*(code *)puVar7)(puVar2,2);
  puVar7 = PTR_DAT_0002a248;
  if (iVar3 == 0) {
    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);
    if (iVar3 == 0) {
      bfd_nonfatal(param_1);
      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();
      uVar8 = 0;
      if (iVar3 == 0xd) {
        list_matching_formats(local_38[0]);
        (*(code *)PTR_free_0002a3f4)(local_38[0]);
      }
      goto LAB_00014ae0;
    }
    FUN_00014834(puVar2);
    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);
    FUN_000130b4(puVar2,0);
  }
  else {
    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);
    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {
      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);
      puVar1 = PTR_DAT_0002a25c;
      if (iVar3 != -1) {
        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);
        (*(code *)PTR_printf_0002a414)(uVar8);
        puVar9 = PTR_DAT_0002a25c + -0x6f68;
        do {
          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);
          if (puVar6 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);
          }
          if (*local_38[0] != 0) {
            FUN_00011fe4(puVar9,*local_38[0],puVar2);
            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);
          }
          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);
        } while (iVar3 != -1);
      }
    }
    puVar1 = PTR_DAT_0002a248;
    local_2c = PTR_DAT_0002a248;
    local_30 = (code *)(PTR_0002a254 + 0x30b4);
    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);
    puVar6 = (undefined4 *)0x0;
    while (puVar4 != (undefined4 *)0x0) {
      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);
      if (iVar3 == 0) {
        bfd_nonfatal(*puVar4);
        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();
        if (iVar3 == 0xd) {
          list_matching_formats(local_38[0]);
          (*(code *)PTR_free_0002a3f4)(local_38[0]);
        }
      }
      else {
        FUN_00014834(puVar4);
        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);
        (*local_30)(puVar4,puVar2);
      }
      if (puVar6 != (undefined4 *)0x0) {
        (*(code *)PTR_bfd_close_0002a314)(puVar6);
        *(undefined4 *)(puVar1 + -0x5b80) = 0;
        *(undefined4 *)(local_2c + -0x5b84) = 0;
        if (puVar6 == puVar4) goto LAB_00014adc;
      }
      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);
      puVar6 = puVar4;
      puVar4 = puVar5;
    }
    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();
    if (iVar3 != 9) {
                    /* WARNING: Subroutine does not return */
      bfd_fatal(*puVar2);
    }
    if (puVar6 != (undefined4 *)0x0) {
      (*(code *)PTR_bfd_close_0002a314)(puVar6);
      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;
      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;
    }
  }
LAB_00014adc:
  uVar8 = 1;
LAB_00014ae0:
  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);
  if (iVar3 != 0) {
    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;
    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;
    return uVar8;
  }
                    /* WARNING: Subroutine does not return */
  bfd_fatal(param_1);
}


lui gp,0x2
addiu gp,gp,-0x26d0
addu gp,gp,t9
addiu sp,sp,-0x50
lw t9,-0x7fb0(gp)
sw gp,0x10(sp)
sw s3,0x34(sp)
or s3,a0,zero
sw ra,0x4c(sp)
sw s8,0x48(sp)
sw s7,0x44(sp)
sw s6,0x40(sp)
sw s5,0x3c(sp)
sw s4,0x38(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
bal 0x00015f0c
_sw s0,0x28(sp)
blez v0,0x00014be8
_lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
lw a1,-0x5b7c(v0)
beq a1,zero,0x00014c30
_nop
lw t9,-0x7e3c(gp)
jalr t9
_or a0,s3,zero
lw gp,0x10(sp)
beq v0,zero,0x00014d78
_or s0,v0,zero
lw v0,-0x7fd8(gp)
lw v0,-0x5b64(v0)
beq v0,zero,0x00014988
_lw t9,-0x7f34(gp)
lw v0,0x28(s0)
lui v1,0x40
or v0,v0,v1
sw v0,0x28(s0)
li a1,0x2
jalr t9
_or a0,s0,zero
beq v0,zero,0x00014b38
_lw gp,0x10(sp)
lw s5,-0x7fd8(gp)
lw v0,-0x5e20(s5)
lw t9,0x4(v0)
jalr t9
_lw a0,0x0(s0)
lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
lw v0,-0x5b40(v0)
bne v0,zero,0x00014c88
_lw t9,-0x7f64(gp)
lw v0,-0x7fd8(gp)
or s2,zero,zero
lw t9,-0x7f38(gp)
or a0,s0,zero
lw s4,-0x7fcc(gp)
or a1,s2,zero
sw v0,0x24(sp)
addiu s6,sp,0x18
lw v0,-0x7fcc(gp)
li s8,0xd
lw s7,-0x7fd8(gp)
addiu s4,s4,0x4834
addiu v0,v0,0x30b4
jalr t9
_sw v0,0x20(sp)
lw gp,0x10(sp)
beq v0,zero,0x00014aa0
_or s1,v0,zero
lw t9,-0x7f1c(gp)
li a1,0x1
or a2,s6,zero
jalr t9
_or a0,v0,zero
beq v0,zero,0x00014ba0
_lw gp,0x10(sp)
or t9,s4,zero
bal 0x00014834
_or a0,s1,zero
lw v0,-0x5e20(s5)
lw a1,0x0(s1)
lw t9,0x8(v0)
jalr t9
_lw a0,0x0(s0)
or a1,s0,zero
lw t9,0x20(sp)
jalr t9
_or a0,s1,zero
lw gp,0x10(sp)
beq s2,zero,0x00014a80
_lw t9,-0x7f0c(gp)
jalr t9
_or a0,s2,zero
lw v0,0x24(sp)
lw gp,0x10(sp)
sw zero,-0x5b80(s7)
beq s2,s1,0x00014adc
_sw zero,-0x5b84(v0)
lw t9,-0x7f38(gp)
or s2,s1,zero
or a1,s2,zero
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
bne v0,zero,0x00014a0c
_or s1,v0,zero
lw t9,-0x7e64(gp)
jalr t9
_nop
li v1,0x9
bne v0,v1,0x00014d9c
_lw gp,0x10(sp)
beq s2,zero,0x00014adc
_lw t9,-0x7f0c(gp)
jalr t9
_or a0,s2,zero
lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
sw zero,-0x5b80(v0)
lw v0,-0x7fd8(gp)
sw zero,-0x5b84(v0)
li s1,0x1
lw t9,-0x7f0c(gp)
jalr t9
_or a0,s0,zero
beq v0,zero,0x00014d90
_lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
sw zero,-0x5b80(v0)
lw v0,-0x7fd8(gp)
sw zero,-0x5b84(v0)
lw ra,0x4c(sp)
or v0,s1,zero
lw s8,0x48(sp)
lw s7,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x50
lw t9,-0x7f1c(gp)
addiu a2,sp,0x18
li a1,0x1
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
beq v0,zero,0x00014c3c
_or s1,v0,zero
lw t9,-0x7fcc(gp)
addiu t9,t9,0x4834
bal 0x00014834
_or a0,s0,zero
lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
lw v0,-0x5e20(v0)
lw t9,0x0(v0)
jalr t9
_or a0,s3,zero
or a1,zero,zero
lw gp,0x10(sp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x30b4
bal 0x000130b4
_or a0,s0,zero
b 0x00014adc
_lw gp,0x10(sp)
lw t9,-0x7fac(gp)
bal 0x00014f60
_lw a0,0x0(s1)
lw gp,0x10(sp)
lw t9,-0x7e64(gp)
jalr t9
_nop
bne v0,s8,0x00014a5c
_lw gp,0x10(sp)
lw t9,-0x7fa8(gp)
bal 0x000154c8
_lw a0,0x18(sp)
lw gp,0x10(sp)
lw t9,-0x7e2c(gp)
jalr t9
_lw a0,0x18(sp)
b 0x00014a5c
_lw gp,0x10(sp)
bne v0,zero,0x00014bfc
_lw ra,0x4c(sp)
bne v1,zero,0x00014944
_lw v0,-0x7fd8(gp)
lw ra,0x4c(sp)
or s1,zero,zero
lw s8,0x48(sp)
or v0,s1,zero
lw s7,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x50
lw a1,-0x7fc4(gp)
b 0x00014950
_addiu a1,a1,-0x77f4
lw t9,-0x7fac(gp)
bal 0x00014f60
_or a0,s3,zero
lw gp,0x10(sp)
lw t9,-0x7e64(gp)
jalr t9
_nop
li v1,0xd
bne v0,v1,0x00014ae0
_lw gp,0x10(sp)
lw t9,-0x7fa8(gp)
bal 0x000154c8
_lw a0,0x18(sp)
lw gp,0x10(sp)
lw t9,-0x7e2c(gp)
jalr t9
_lw a0,0x18(sp)
b 0x00014ae0
_lw gp,0x10(sp)
addiu s8,sp,0x18
li a1,-0x1
or a2,s8,zero
jalr t9
_or a0,s0,zero
li v1,-0x1
lw gp,0x10(sp)
beq v0,v1,0x000149c4
_or s1,v0,zero
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x7e48(gp)
or a0,zero,zero
lw s7,-0x7fc4(gp)
jalr t9
_addiu a1,a1,-0x77ec
lw gp,0x10(sp)
lw t9,-0x7e0c(gp)
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
lw s6,-0x7fc4(gp)
lw s4,-0x7fcc(gp)
addiu s6,s6,-0x6f68
b 0x00014d48
_addiu s4,s4,0x1fe4
lw v0,0x18(sp)
lw a1,0x0(v0)
beq a1,zero,0x00014d24
_or a0,s6,zero
or t9,s4,zero
bal 0x00011fe4
_or a2,s0,zero
addiu a0,s7,-0x77c0
lw gp,0x10(sp)
lw t9,-0x7e0c(gp)
jalr t9
_lw a1,0x0(s2)
lw gp,0x10(sp)
lw t9,-0x7f64(gp)
or a1,s1,zero
or a2,s8,zero
jalr t9
_or a0,s0,zero
li v1,-0x1
lw gp,0x10(sp)
beq v0,v1,0x000149c4
_or s1,v0,zero
lw v0,0x4(s0)
or a1,s1,zero
lw t9,0xf8(v0)
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
bne v0,zero,0x00014cf0
_or s2,v0,zero
lw a0,-0x7fc4(gp)
lw t9,-0x7fbc(gp)
bal 0x000152cc
_addiu a0,a0,-0x77d8
lw t9,-0x7fac(gp)
or a0,s3,zero
bal 0x00014f60
_or s1,zero,zero
b 0x00014b08
_lw ra,0x4c(sp)
lw t9,-0x7fbc(gp)
bal 0x000152cc
_or a0,s3,zero
lw t9,-0x7fbc(gp)
bal 0x000152cc
_lw a0,0x0(s0)
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00014bf0) */\n\nundefined4 FUN_000148f0(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  longlong lVar10;\n  int *local_38 [2];\n  code *local_30;\n  undefined *local_2c;\n  \n  lVar10 = get_file_size();\n  if (lVar10 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }\n  iVar3 = (*(code *)puVar7)(puVar2,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  uVar8 = 1;\nLAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);\n  if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  bfd_fatal(param_1);\n}\n\n" comment (function_definition "undefined4 FUN_000148f0(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  longlong lVar10;\n  int *local_38 [2];\n  code *local_30;\n  undefined *local_2c;\n  \n  lVar10 = get_file_size();\n  if (lVar10 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }\n  iVar3 = (*(code *)puVar7)(puVar2,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  uVar8 = 1;\nLAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);\n  if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  bfd_fatal(param_1);\n}" type_identifier (function_declarator "FUN_000148f0(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  longlong lVar10;\n  int *local_38 [2];\n  code *local_30;\n  undefined *local_2c;\n  \n  lVar10 = get_file_size();\n  if (lVar10 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }\n  iVar3 = (*(code *)puVar7)(puVar2,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  uVar8 = 1;\nLAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);\n  if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  bfd_fatal(param_1);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "longlong lVar10;" type_identifier identifier ;) (declaration "int *local_38 [2];" primitive_type (pointer_declarator "*local_38 [2]" * (array_declarator "local_38 [2]" identifier [ number_literal ])) ;) (declaration "code *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "lVar10 = get_file_size();" (assignment_expression "lVar10 = get_file_size()" identifier = (call_expression "get_file_size()" identifier (argument_list "()" ( )))) ;) (if_statement "if (lVar10 < 1) {\n    return 0;\n  }" if (parenthesized_expression "(lVar10 < 1)" ( (binary_expression "lVar10 < 1" identifier < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);" (assignment_expression "puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" identifier = (pointer_expression "*(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" * (cast_expression "(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b7c)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b7c" identifier + number_literal) ))))) ;) (if_statement "if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }" if (parenthesized_expression "(puVar7 == (undefined *)0x0)" ( (binary_expression "puVar7 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }" { (expression_statement "puVar7 = PTR_DAT_0002a25c + -0x77f4;" (assignment_expression "puVar7 = PTR_DAT_0002a25c + -0x77f4" identifier = (binary_expression "PTR_DAT_0002a25c + -0x77f4" identifier + number_literal)) ;) })) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" (parenthesized_expression "(*(code *)PTR_bfd_openr_0002a3e4)" ( (pointer_expression "*(code *)PTR_bfd_openr_0002a3e4" * (cast_expression "(code *)PTR_bfd_openr_0002a3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,puVar7)" ( identifier , identifier ))))) ;) (expression_statement "puVar7 = PTR_bfd_check_format_0002a2ec;" (assignment_expression "puVar7 = PTR_bfd_check_format_0002a2ec" identifier = identifier) ;) (if_statement "if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }" if (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" ( (binary_expression "puVar2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    bfd_nonfatal(param_1);\n    return 0;\n  }" { (expression_statement "bfd_nonfatal(param_1);" (call_expression "bfd_nonfatal(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b64)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b64)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b64" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar2[10] = puVar2[10] | 0x400000;\n  }" { (expression_statement "puVar2[10] = puVar2[10] | 0x400000;" (assignment_expression "puVar2[10] = puVar2[10] | 0x400000" (subscript_expression "puVar2[10]" identifier [ number_literal ]) = (binary_expression "puVar2[10] | 0x400000" (subscript_expression "puVar2[10]" identifier [ number_literal ]) | number_literal)) ;) })) (expression_statement "iVar3 = (*(code *)puVar7)(puVar2,2);" (assignment_expression "iVar3 = (*(code *)puVar7)(puVar2,2)" identifier = (call_expression "(*(code *)puVar7)(puVar2,2)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,2)" ( identifier , number_literal )))) ;) (expression_statement "puVar7 = PTR_DAT_0002a248;" (assignment_expression "puVar7 = PTR_DAT_0002a248" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }" { (expression_statement "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_0002a304" * (cast_expression "(code *)PTR_bfd_check_format_matches_0002a304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,1,local_38)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }" { (expression_statement "bfd_nonfatal(param_1);" (call_expression "bfd_nonfatal(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }" if (parenthesized_expression "(iVar3 == 0xd)" ( (binary_expression "iVar3 == 0xd" identifier == number_literal) )) (compound_statement "{\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }" { (expression_statement "list_matching_formats(local_38[0]);" (call_expression "list_matching_formats(local_38[0])" identifier (argument_list "(local_38[0])" ( (subscript_expression "local_38[0]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_0002a3f4)(local_38[0]);" (call_expression "(*(code *)PTR_free_0002a3f4)(local_38[0])" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_38[0])" ( (subscript_expression "local_38[0]" identifier [ number_literal ]) ))) ;) })) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "FUN_00014834(puVar2);" (call_expression "FUN_00014834(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);" (call_expression "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1)" (parenthesized_expression "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))" ( (pointer_expression "*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (pointer_expression "*(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5e20)" ( (binary_expression "PTR_DAT_0002a248 + -0x5e20" identifier + number_literal) ))))))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_000130b4(puVar2,0);" (call_expression "FUN_000130b4(puVar2,0)" identifier (argument_list "(puVar2,0)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" else (compound_statement "{\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" { (expression_statement "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);" (call_expression "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2)" (parenthesized_expression "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))" ( (pointer_expression "**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" * (pointer_expression "*(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" * (cast_expression "(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5e20)" ( (binary_expression "PTR_DAT_0002a248 + -0x5e20" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) ))) ;) (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b40)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b40)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38)" identifier = (call_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)" ( (pointer_expression "*(code *)PTR_bfd_get_next_mapent_0002a2bc" * (cast_expression "(code *)PTR_bfd_get_next_mapent_0002a2bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,0xffffffff,local_38)" ( identifier , number_literal , identifier )))) ;) (expression_statement "puVar1 = PTR_DAT_0002a25c;" (assignment_expression "puVar1 = PTR_DAT_0002a25c" identifier = identifier) ;) (if_statement "if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (compound_statement "{\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }" { (expression_statement "uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);" (assignment_expression "uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" * (cast_expression "(code *)PTR_dcgettext_0002a3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002a25c + -0x77ec,5)" ( number_literal , (binary_expression "PTR_DAT_0002a25c + -0x77ec" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_printf_0002a414)(uVar8);" (call_expression "(*(code *)PTR_printf_0002a414)(uVar8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "puVar9 = PTR_DAT_0002a25c + -0x6f68;" (assignment_expression "puVar9 = PTR_DAT_0002a25c + -0x6f68" identifier = (binary_expression "PTR_DAT_0002a25c + -0x6f68" identifier + number_literal)) ;) (do_statement "do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);" do (compound_statement "{\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        }" { (expression_statement "puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" (parenthesized_expression "(**(code **)(puVar2[1] + 0xf8))" ( (pointer_expression "**(code **)(puVar2[1] + 0xf8)" * (pointer_expression "*(code **)(puVar2[1] + 0xf8)" * (cast_expression "(code **)(puVar2[1] + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2[1] + 0xf8)" ( (binary_expression "puVar2[1] + 0xf8" (subscript_expression "puVar2[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar2,iVar3)" ( identifier , identifier ))))) ;) (if_statement "if (puVar6 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }" if (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" ( (binary_expression "puVar6 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }" { comment (expression_statement "bfd_fatal(PTR_DAT_0002a25c + -0x77d8);" (call_expression "bfd_fatal(PTR_DAT_0002a25c + -0x77d8)" identifier (argument_list "(PTR_DAT_0002a25c + -0x77d8)" ( (binary_expression "PTR_DAT_0002a25c + -0x77d8" identifier + number_literal) ))) ;) })) (if_statement "if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }" if (parenthesized_expression "(*local_38[0] != 0)" ( (binary_expression "*local_38[0] != 0" (pointer_expression "*local_38[0]" * (subscript_expression "local_38[0]" identifier [ number_literal ])) != number_literal) )) (compound_statement "{\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }" { (expression_statement "FUN_00011fe4(puVar9,*local_38[0],puVar2);" (call_expression "FUN_00011fe4(puVar9,*local_38[0],puVar2)" identifier (argument_list "(puVar9,*local_38[0],puVar2)" ( identifier , (pointer_expression "*local_38[0]" * (subscript_expression "local_38[0]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "(*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);" (call_expression "(*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x77c0,*puVar6)" ( (binary_expression "puVar1 + -0x77c0" identifier + number_literal) , (pointer_expression "*puVar6" * identifier) ))) ;) })) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38)" identifier = (call_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)" ( (pointer_expression "*(code *)PTR_bfd_get_next_mapent_0002a2bc" * (cast_expression "(code *)PTR_bfd_get_next_mapent_0002a2bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,iVar3,local_38)" ( identifier , identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) ;) })) })) (expression_statement "puVar1 = PTR_DAT_0002a248;" (assignment_expression "puVar1 = PTR_DAT_0002a248" identifier = identifier) ;) (expression_statement "local_2c = PTR_DAT_0002a248;" (assignment_expression "local_2c = PTR_DAT_0002a248" identifier = identifier) ;) (expression_statement "local_30 = (code *)(PTR_0002a254 + 0x30b4);" (assignment_expression "local_30 = (code *)(PTR_0002a254 + 0x30b4)" identifier = (cast_expression "(code *)(PTR_0002a254 + 0x30b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0002a254 + 0x30b4)" ( (binary_expression "PTR_0002a254 + 0x30b4" identifier + number_literal) )))) ;) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_0002a2e8" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_0002a2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,0)" ( identifier , number_literal ))))) ;) (expression_statement "puVar6 = (undefined4 *)0x0;" (assignment_expression "puVar6 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }" while (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }" { (expression_statement "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_0002a304" * (cast_expression "(code *)PTR_bfd_check_format_matches_0002a304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,1,local_38)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }" { (expression_statement "bfd_nonfatal(*puVar4);" (call_expression "bfd_nonfatal(*puVar4)" identifier (argument_list "(*puVar4)" ( (pointer_expression "*puVar4" * identifier) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }" if (parenthesized_expression "(iVar3 == 0xd)" ( (binary_expression "iVar3 == 0xd" identifier == number_literal) )) (compound_statement "{\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }" { (expression_statement "list_matching_formats(local_38[0]);" (call_expression "list_matching_formats(local_38[0])" identifier (argument_list "(local_38[0])" ( (subscript_expression "local_38[0]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_0002a3f4)(local_38[0]);" (call_expression "(*(code *)PTR_free_0002a3f4)(local_38[0])" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_38[0])" ( (subscript_expression "local_38[0]" identifier [ number_literal ]) ))) ;) })) }) (else_clause "else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" else (compound_statement "{\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" { (expression_statement "FUN_00014834(puVar4);" (call_expression "FUN_00014834(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);" (call_expression "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4)" (parenthesized_expression "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))" ( (pointer_expression "**(code **)(*(int *)(puVar7 + -0x5e20) + 8)" * (pointer_expression "*(code **)(*(int *)(puVar7 + -0x5e20) + 8)" * (cast_expression "(code **)(*(int *)(puVar7 + -0x5e20) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar7 + -0x5e20) + 8)" ( (binary_expression "*(int *)(puVar7 + -0x5e20) + 8" (pointer_expression "*(int *)(puVar7 + -0x5e20)" * (cast_expression "(int *)(puVar7 + -0x5e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x5e20)" ( (binary_expression "puVar7 + -0x5e20" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*puVar2,*puVar4)" ( (pointer_expression "*puVar2" * identifier) , (pointer_expression "*puVar4" * identifier) ))) ;) (expression_statement "(*local_30)(puVar4,puVar2);" (call_expression "(*local_30)(puVar4,puVar2)" (parenthesized_expression "(*local_30)" ( (pointer_expression "*local_30" * identifier) )) (argument_list "(puVar4,puVar2)" ( identifier , identifier ))) ;) }))) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }" { (expression_statement "(*(code *)PTR_bfd_close_0002a314)(puVar6);" (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar6)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(puVar1 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(puVar1 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(puVar1 + -0x5b80)" * (cast_expression "(undefined4 *)(puVar1 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x5b80)" ( (binary_expression "puVar1 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(local_2c + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(local_2c + -0x5b84)" * (cast_expression "(undefined4 *)(local_2c + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + -0x5b84)" ( (binary_expression "local_2c + -0x5b84" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (puVar6 == puVar4) goto LAB_00014adc;" if (parenthesized_expression "(puVar6 == puVar4)" ( (binary_expression "puVar6 == puVar4" identifier == identifier) )) (goto_statement "goto LAB_00014adc;" goto statement_identifier ;)) })) (expression_statement "puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);" (assignment_expression "puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_0002a2e8" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_0002a2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,puVar4)" ( identifier , identifier ))))) ;) (expression_statement "puVar6 = puVar4;" (assignment_expression "puVar6 = puVar4" identifier = identifier) ;) (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" identifier = identifier) ;) })) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(*puVar2);\n    }" if (parenthesized_expression "(iVar3 != 9)" ( (binary_expression "iVar3 != 9" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(*puVar2);\n    }" { comment (expression_statement "bfd_fatal(*puVar2);" (call_expression "bfd_fatal(*puVar2)" identifier (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) ))) ;) })) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }" { (expression_statement "(*(code *)PTR_bfd_close_0002a314)(puVar6);" (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar6)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b80)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b84)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b84" identifier + number_literal) )))) = number_literal) ;) })) }))) (labeled_statement "LAB_00014adc:\n  uVar8 = 1;" statement_identifier : (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);" statement_identifier : (expression_statement "iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2)" identifier = (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar2)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2)" ( identifier )))) ;)) (if_statement "if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }" { (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b80)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b84)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b84" identifier + number_literal) )))) = number_literal) ;) (return_statement "return uVar8;" return identifier ;) })) comment (expression_statement "bfd_fatal(param_1);" (call_expression "bfd_fatal(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00014bf0) */\n\nbfd_boolean display_file(char *filename)\n\n{\n  undefined *puVar1;\n  bfd *file;\n  int iVar2;\n  bfd *file_00;\n  bfd *pbVar3;\n  symindex sVar4;\n  undefined4 uVar5;\n  bfd *pbVar6;\n  undefined *puVar7;\n  bfd_boolean bVar8;\n  char *form;\n  off_t oVar9;\n  char **matching;\n  code *local_30;\n  undefined *local_2c;\n  \n  oVar9 = get_file_size(filename);\n  if (oVar9 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  file = (bfd *)(*(code *)PTR_bfd_openr_0002a3e4)(filename,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (file == (bfd *)0x0) {\n    bfd_nonfatal(filename);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    *(uint *)&file->field_0x28 = *(uint *)&file->field_0x28 | 0x400000;\n  }\n  iVar2 = (*(code *)puVar7)(file,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar2 == 0) {\n    iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching);\n    if (iVar2 == 0) {\n      bfd_nonfatal(filename);\n      iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      bVar8 = 0;\n      if (iVar2 == 0xd) {\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }\n      goto LAB_00014ae0;\n    }\n    set_print_width(file);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(filename);\n    display_rel_file(file,(bfd *)0x0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);\n      puVar1 = PTR_DAT_0002a25c;\n      if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0);\n    pbVar6 = (bfd *)0x0;\n    while (file_00 != (bfd *)0x0) {\n      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);\n      if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }\n      if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }\n      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);\n      pbVar6 = file_00;\n      file_00 = pbVar3;\n    }\n    iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar2 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(file->filename);\n    }\n    if (pbVar6 != (bfd *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  bVar8 = 1;\nLAB_00014ae0:\n  iVar2 = (*(code *)PTR_bfd_close_0002a314)(file);\n  if (iVar2 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return bVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  bfd_fatal(filename);\n}\n\n" comment (function_definition "bfd_boolean display_file(char *filename)\n\n{\n  undefined *puVar1;\n  bfd *file;\n  int iVar2;\n  bfd *file_00;\n  bfd *pbVar3;\n  symindex sVar4;\n  undefined4 uVar5;\n  bfd *pbVar6;\n  undefined *puVar7;\n  bfd_boolean bVar8;\n  char *form;\n  off_t oVar9;\n  char **matching;\n  code *local_30;\n  undefined *local_2c;\n  \n  oVar9 = get_file_size(filename);\n  if (oVar9 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  file = (bfd *)(*(code *)PTR_bfd_openr_0002a3e4)(filename,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (file == (bfd *)0x0) {\n    bfd_nonfatal(filename);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    *(uint *)&file->field_0x28 = *(uint *)&file->field_0x28 | 0x400000;\n  }\n  iVar2 = (*(code *)puVar7)(file,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar2 == 0) {\n    iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching);\n    if (iVar2 == 0) {\n      bfd_nonfatal(filename);\n      iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      bVar8 = 0;\n      if (iVar2 == 0xd) {\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }\n      goto LAB_00014ae0;\n    }\n    set_print_width(file);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(filename);\n    display_rel_file(file,(bfd *)0x0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);\n      puVar1 = PTR_DAT_0002a25c;\n      if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0);\n    pbVar6 = (bfd *)0x0;\n    while (file_00 != (bfd *)0x0) {\n      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);\n      if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }\n      if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }\n      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);\n      pbVar6 = file_00;\n      file_00 = pbVar3;\n    }\n    iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar2 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(file->filename);\n    }\n    if (pbVar6 != (bfd *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  bVar8 = 1;\nLAB_00014ae0:\n  iVar2 = (*(code *)PTR_bfd_close_0002a314)(file);\n  if (iVar2 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return bVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  bfd_fatal(filename);\n}" type_identifier (function_declarator "display_file(char *filename)" identifier (parameter_list "(char *filename)" ( (parameter_declaration "char *filename" primitive_type (pointer_declarator "*filename" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  bfd *file;\n  int iVar2;\n  bfd *file_00;\n  bfd *pbVar3;\n  symindex sVar4;\n  undefined4 uVar5;\n  bfd *pbVar6;\n  undefined *puVar7;\n  bfd_boolean bVar8;\n  char *form;\n  off_t oVar9;\n  char **matching;\n  code *local_30;\n  undefined *local_2c;\n  \n  oVar9 = get_file_size(filename);\n  if (oVar9 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  file = (bfd *)(*(code *)PTR_bfd_openr_0002a3e4)(filename,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (file == (bfd *)0x0) {\n    bfd_nonfatal(filename);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    *(uint *)&file->field_0x28 = *(uint *)&file->field_0x28 | 0x400000;\n  }\n  iVar2 = (*(code *)puVar7)(file,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar2 == 0) {\n    iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching);\n    if (iVar2 == 0) {\n      bfd_nonfatal(filename);\n      iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      bVar8 = 0;\n      if (iVar2 == 0xd) {\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }\n      goto LAB_00014ae0;\n    }\n    set_print_width(file);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(filename);\n    display_rel_file(file,(bfd *)0x0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);\n      puVar1 = PTR_DAT_0002a25c;\n      if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0);\n    pbVar6 = (bfd *)0x0;\n    while (file_00 != (bfd *)0x0) {\n      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);\n      if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }\n      if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }\n      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);\n      pbVar6 = file_00;\n      file_00 = pbVar3;\n    }\n    iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar2 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(file->filename);\n    }\n    if (pbVar6 != (bfd *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  bVar8 = 1;\nLAB_00014ae0:\n  iVar2 = (*(code *)PTR_bfd_close_0002a314)(file);\n  if (iVar2 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return bVar8;\n  }\n                    /* WARNING: Subroutine does not return */\n  bfd_fatal(filename);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "bfd *file;" type_identifier (pointer_declarator "*file" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "bfd *file_00;" type_identifier (pointer_declarator "*file_00" * identifier) ;) (declaration "bfd *pbVar3;" type_identifier (pointer_declarator "*pbVar3" * identifier) ;) (declaration "symindex sVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "bfd *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "bfd_boolean bVar8;" type_identifier identifier ;) (declaration "char *form;" primitive_type (pointer_declarator "*form" * identifier) ;) (declaration "off_t oVar9;" type_identifier identifier ;) (declaration "char **matching;" primitive_type (pointer_declarator "**matching" * (pointer_declarator "*matching" * identifier)) ;) (declaration "code *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "oVar9 = get_file_size(filename);" (assignment_expression "oVar9 = get_file_size(filename)" identifier = (call_expression "get_file_size(filename)" identifier (argument_list "(filename)" ( identifier )))) ;) (if_statement "if (oVar9 < 1) {\n    return 0;\n  }" if (parenthesized_expression "(oVar9 < 1)" ( (binary_expression "oVar9 < 1" identifier < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);" (assignment_expression "puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" identifier = (pointer_expression "*(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" * (cast_expression "(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b7c)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b7c" identifier + number_literal) ))))) ;) (if_statement "if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }" if (parenthesized_expression "(puVar7 == (undefined *)0x0)" ( (binary_expression "puVar7 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }" { (expression_statement "puVar7 = PTR_DAT_0002a25c + -0x77f4;" (assignment_expression "puVar7 = PTR_DAT_0002a25c + -0x77f4" identifier = (binary_expression "PTR_DAT_0002a25c + -0x77f4" identifier + number_literal)) ;) })) (expression_statement "file = (bfd *)(*(code *)PTR_bfd_openr_0002a3e4)(filename,puVar7);" (assignment_expression "file = (bfd *)(*(code *)PTR_bfd_openr_0002a3e4)(filename,puVar7)" identifier = (cast_expression "(bfd *)(*(code *)PTR_bfd_openr_0002a3e4)(filename,puVar7)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_0002a3e4)(filename,puVar7)" (parenthesized_expression "(*(code *)PTR_bfd_openr_0002a3e4)" ( (pointer_expression "*(code *)PTR_bfd_openr_0002a3e4" * (cast_expression "(code *)PTR_bfd_openr_0002a3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(filename,puVar7)" ( identifier , identifier ))))) ;) (expression_statement "puVar7 = PTR_bfd_check_format_0002a2ec;" (assignment_expression "puVar7 = PTR_bfd_check_format_0002a2ec" identifier = identifier) ;) (if_statement "if (file == (bfd *)0x0) {\n    bfd_nonfatal(filename);\n    return 0;\n  }" if (parenthesized_expression "(file == (bfd *)0x0)" ( (binary_expression "file == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    bfd_nonfatal(filename);\n    return 0;\n  }" { (expression_statement "bfd_nonfatal(filename);" (call_expression "bfd_nonfatal(filename)" identifier (argument_list "(filename)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    *(uint *)&file->field_0x28 = *(uint *)&file->field_0x28 | 0x400000;\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b64)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b64)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b64" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(uint *)&file->field_0x28 = *(uint *)&file->field_0x28 | 0x400000;\n  }" { (expression_statement "*(uint *)&file->field_0x28 = *(uint *)&file->field_0x28 | 0x400000;" (assignment_expression "*(uint *)&file->field_0x28 = *(uint *)&file->field_0x28 | 0x400000" (pointer_expression "*(uint *)&file->field_0x28" * (cast_expression "(uint *)&file->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&file->field_0x28" & (field_expression "file->field_0x28" identifier -> field_identifier)))) = (binary_expression "*(uint *)&file->field_0x28 | 0x400000" (pointer_expression "*(uint *)&file->field_0x28" * (cast_expression "(uint *)&file->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&file->field_0x28" & (field_expression "file->field_0x28" identifier -> field_identifier)))) | number_literal)) ;) })) (expression_statement "iVar2 = (*(code *)puVar7)(file,2);" (assignment_expression "iVar2 = (*(code *)puVar7)(file,2)" identifier = (call_expression "(*(code *)puVar7)(file,2)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,2)" ( identifier , number_literal )))) ;) (expression_statement "puVar7 = PTR_DAT_0002a248;" (assignment_expression "puVar7 = PTR_DAT_0002a248" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching);\n    if (iVar2 == 0) {\n      bfd_nonfatal(filename);\n      iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      bVar8 = 0;\n      if (iVar2 == 0xd) {\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }\n      goto LAB_00014ae0;\n    }\n    set_print_width(file);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(filename);\n    display_rel_file(file,(bfd *)0x0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);\n      puVar1 = PTR_DAT_0002a25c;\n      if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0);\n    pbVar6 = (bfd *)0x0;\n    while (file_00 != (bfd *)0x0) {\n      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);\n      if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }\n      if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }\n      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);\n      pbVar6 = file_00;\n      file_00 = pbVar3;\n    }\n    iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar2 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(file->filename);\n    }\n    if (pbVar6 != (bfd *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching);\n    if (iVar2 == 0) {\n      bfd_nonfatal(filename);\n      iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      bVar8 = 0;\n      if (iVar2 == 0xd) {\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }\n      goto LAB_00014ae0;\n    }\n    set_print_width(file);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(filename);\n    display_rel_file(file,(bfd *)0x0);\n  }" { (expression_statement "iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching);" (assignment_expression "iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)(file,1,&matching)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_0002a304" * (cast_expression "(code *)PTR_bfd_check_format_matches_0002a304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,1,&matching)" ( identifier , number_literal , (pointer_expression "&matching" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n      bfd_nonfatal(filename);\n      iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      bVar8 = 0;\n      if (iVar2 == 0xd) {\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }\n      goto LAB_00014ae0;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      bfd_nonfatal(filename);\n      iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      bVar8 = 0;\n      if (iVar2 == 0xd) {\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }\n      goto LAB_00014ae0;\n    }" { (expression_statement "bfd_nonfatal(filename);" (call_expression "bfd_nonfatal(filename)" identifier (argument_list "(filename)" ( identifier ))) ;) (expression_statement "iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "bVar8 = 0;" (assignment_expression "bVar8 = 0" identifier = number_literal) ;) (if_statement "if (iVar2 == 0xd) {\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }" if (parenthesized_expression "(iVar2 == 0xd)" ( (binary_expression "iVar2 == 0xd" identifier == number_literal) )) (compound_statement "{\n        list_matching_formats(matching);\n        (*(code *)PTR_free_0002a3f4)(matching);\n      }" { (expression_statement "list_matching_formats(matching);" (call_expression "list_matching_formats(matching)" identifier (argument_list "(matching)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_0002a3f4)(matching);" (call_expression "(*(code *)PTR_free_0002a3f4)(matching)" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(matching)" ( identifier ))) ;) })) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "set_print_width(file);" (call_expression "set_print_width(file)" identifier (argument_list "(file)" ( identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(filename);" (call_expression "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(filename)" (parenthesized_expression "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))" ( (pointer_expression "*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (pointer_expression "*(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5e20)" ( (binary_expression "PTR_DAT_0002a248 + -0x5e20" identifier + number_literal) ))))))) )) (argument_list "(filename)" ( identifier ))) ;) (expression_statement "display_rel_file(file,(bfd *)0x0);" (call_expression "display_rel_file(file,(bfd *)0x0)" identifier (argument_list "(file,(bfd *)0x0)" ( identifier , (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) }) (else_clause "else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);\n      puVar1 = PTR_DAT_0002a25c;\n      if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0);\n    pbVar6 = (bfd *)0x0;\n    while (file_00 != (bfd *)0x0) {\n      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);\n      if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }\n      if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }\n      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);\n      pbVar6 = file_00;\n      file_00 = pbVar3;\n    }\n    iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar2 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(file->filename);\n    }\n    if (pbVar6 != (bfd *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" else (compound_statement "{\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);\n      puVar1 = PTR_DAT_0002a25c;\n      if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0);\n    pbVar6 = (bfd *)0x0;\n    while (file_00 != (bfd *)0x0) {\n      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);\n      if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }\n      if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }\n      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);\n      pbVar6 = file_00;\n      file_00 = pbVar3;\n    }\n    iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar2 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(file->filename);\n    }\n    if (pbVar6 != (bfd *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" { (expression_statement "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename);" (call_expression "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(file->filename)" (parenthesized_expression "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))" ( (pointer_expression "**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" * (pointer_expression "*(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" * (cast_expression "(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5e20)" ( (binary_expression "PTR_DAT_0002a248 + -0x5e20" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(file->filename)" ( (field_expression "file->filename" identifier -> field_identifier) ))) ;) (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);\n      puVar1 = PTR_DAT_0002a25c;\n      if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }\n    }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b40)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b40)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);\n      puVar1 = PTR_DAT_0002a25c;\n      if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }\n    }" { (expression_statement "sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching);" (assignment_expression "sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching)" identifier = (call_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,0xffffffff,&matching)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)" ( (pointer_expression "*(code *)PTR_bfd_get_next_mapent_0002a2bc" * (cast_expression "(code *)PTR_bfd_get_next_mapent_0002a2bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,0xffffffff,&matching)" ( identifier , number_literal , (pointer_expression "&matching" & identifier) )))) ;) (expression_statement "puVar1 = PTR_DAT_0002a25c;" (assignment_expression "puVar1 = PTR_DAT_0002a25c" identifier = identifier) ;) (if_statement "if (sVar4 != 0xffffffff) {\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }" if (parenthesized_expression "(sVar4 != 0xffffffff)" ( (binary_expression "sVar4 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar5);\n        form = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);\n      }" { (expression_statement "uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" * (cast_expression "(code *)PTR_dcgettext_0002a3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002a25c + -0x77ec,5)" ( number_literal , (binary_expression "PTR_DAT_0002a25c + -0x77ec" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_printf_0002a414)(uVar5);" (call_expression "(*(code *)PTR_printf_0002a414)(uVar5)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "form = PTR_DAT_0002a25c + -0x6f68;" (assignment_expression "form = PTR_DAT_0002a25c + -0x6f68" identifier = (binary_expression "PTR_DAT_0002a25c + -0x6f68" identifier + number_literal)) ;) (do_statement "do {\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        } while (sVar4 != 0xffffffff);" do (compound_statement "{\n          pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);\n          if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }\n          sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);\n        }" { (expression_statement "pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4);" (assignment_expression "pbVar6 = (*file->xvec->_bfd_get_elt_at_index)(file,sVar4)" identifier = (call_expression "(*file->xvec->_bfd_get_elt_at_index)(file,sVar4)" (parenthesized_expression "(*file->xvec->_bfd_get_elt_at_index)" ( (pointer_expression "*file->xvec->_bfd_get_elt_at_index" * (field_expression "file->xvec->_bfd_get_elt_at_index" (field_expression "file->xvec" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(file,sVar4)" ( identifier , identifier )))) ;) (if_statement "if (pbVar6 == (bfd *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }" if (parenthesized_expression "(pbVar6 == (bfd *)0x0)" ( (binary_expression "pbVar6 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }" { comment (expression_statement "bfd_fatal(PTR_DAT_0002a25c + -0x77d8);" (call_expression "bfd_fatal(PTR_DAT_0002a25c + -0x77d8)" identifier (argument_list "(PTR_DAT_0002a25c + -0x77d8)" ( (binary_expression "PTR_DAT_0002a25c + -0x77d8" identifier + number_literal) ))) ;) })) (if_statement "if (*matching != (char *)0x0) {\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }" if (parenthesized_expression "(*matching != (char *)0x0)" ( (binary_expression "*matching != (char *)0x0" (pointer_expression "*matching" * identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            print_symname(form,*matching,file);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);\n          }" { (expression_statement "print_symname(form,*matching,file);" (call_expression "print_symname(form,*matching,file)" identifier (argument_list "(form,*matching,file)" ( identifier , (pointer_expression "*matching" * identifier) , identifier ))) ;) (expression_statement "(*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename);" (call_expression "(*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,pbVar6->filename)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x77c0,pbVar6->filename)" ( (binary_expression "puVar1 + -0x77c0" identifier + number_literal) , (field_expression "pbVar6->filename" identifier -> field_identifier) ))) ;) })) (expression_statement "sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching);" (assignment_expression "sVar4 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching)" identifier = (call_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)(file,sVar4,&matching)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)" ( (pointer_expression "*(code *)PTR_bfd_get_next_mapent_0002a2bc" * (cast_expression "(code *)PTR_bfd_get_next_mapent_0002a2bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,sVar4,&matching)" ( identifier , identifier , (pointer_expression "&matching" & identifier) )))) ;) }) while (parenthesized_expression "(sVar4 != 0xffffffff)" ( (binary_expression "sVar4 != 0xffffffff" identifier != number_literal) )) ;) })) })) (expression_statement "puVar1 = PTR_DAT_0002a248;" (assignment_expression "puVar1 = PTR_DAT_0002a248" identifier = identifier) ;) (expression_statement "local_2c = PTR_DAT_0002a248;" (assignment_expression "local_2c = PTR_DAT_0002a248" identifier = identifier) ;) (expression_statement "local_30 = (code *)(PTR_0002a254 + 0x30b4);" (assignment_expression "local_30 = (code *)(PTR_0002a254 + 0x30b4)" identifier = (cast_expression "(code *)(PTR_0002a254 + 0x30b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0002a254 + 0x30b4)" ( (binary_expression "PTR_0002a254 + 0x30b4" identifier + number_literal) )))) ;) (expression_statement "file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0);" (assignment_expression "file_00 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0)" identifier = (cast_expression "(bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,0)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_0002a2e8" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_0002a2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,0)" ( identifier , number_literal ))))) ;) (expression_statement "pbVar6 = (bfd *)0x0;" (assignment_expression "pbVar6 = (bfd *)0x0" identifier = (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while (file_00 != (bfd *)0x0) {\n      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);\n      if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }\n      if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }\n      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);\n      pbVar6 = file_00;\n      file_00 = pbVar3;\n    }" while (parenthesized_expression "(file_00 != (bfd *)0x0)" ( (binary_expression "file_00 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);\n      if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }\n      if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }\n      pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);\n      pbVar6 = file_00;\n      file_00 = pbVar3;\n    }" { (expression_statement "iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching);" (assignment_expression "iVar2 = (*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)(file_00,1,&matching)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_0002a304" * (cast_expression "(code *)PTR_bfd_check_format_matches_0002a304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file_00,1,&matching)" ( identifier , number_literal , (pointer_expression "&matching" & identifier) )))) ;) (if_statement "if (iVar2 == 0) {\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }\n      else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        bfd_nonfatal(file_00->filename);\n        iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }\n      }" { (expression_statement "bfd_nonfatal(file_00->filename);" (call_expression "bfd_nonfatal(file_00->filename)" identifier (argument_list "(file_00->filename)" ( (field_expression "file_00->filename" identifier -> field_identifier) ))) ;) (expression_statement "iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 == 0xd) {\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }" if (parenthesized_expression "(iVar2 == 0xd)" ( (binary_expression "iVar2 == 0xd" identifier == number_literal) )) (compound_statement "{\n          list_matching_formats(matching);\n          (*(code *)PTR_free_0002a3f4)(matching);\n        }" { (expression_statement "list_matching_formats(matching);" (call_expression "list_matching_formats(matching)" identifier (argument_list "(matching)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_0002a3f4)(matching);" (call_expression "(*(code *)PTR_free_0002a3f4)(matching)" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(matching)" ( identifier ))) ;) })) }) (else_clause "else {\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }" else (compound_statement "{\n        set_print_width(file_00);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);\n        (*local_30)(file_00,file);\n      }" { (expression_statement "set_print_width(file_00);" (call_expression "set_print_width(file_00)" identifier (argument_list "(file_00)" ( identifier ))) ;) (expression_statement "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename);" (call_expression "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(file->filename,file_00->filename)" (parenthesized_expression "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))" ( (pointer_expression "**(code **)(*(int *)(puVar7 + -0x5e20) + 8)" * (pointer_expression "*(code **)(*(int *)(puVar7 + -0x5e20) + 8)" * (cast_expression "(code **)(*(int *)(puVar7 + -0x5e20) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar7 + -0x5e20) + 8)" ( (binary_expression "*(int *)(puVar7 + -0x5e20) + 8" (pointer_expression "*(int *)(puVar7 + -0x5e20)" * (cast_expression "(int *)(puVar7 + -0x5e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x5e20)" ( (binary_expression "puVar7 + -0x5e20" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(file->filename,file_00->filename)" ( (field_expression "file->filename" identifier -> field_identifier) , (field_expression "file_00->filename" identifier -> field_identifier) ))) ;) (expression_statement "(*local_30)(file_00,file);" (call_expression "(*local_30)(file_00,file)" (parenthesized_expression "(*local_30)" ( (pointer_expression "*local_30" * identifier) )) (argument_list "(file_00,file)" ( identifier , identifier ))) ;) }))) (if_statement "if (pbVar6 != (bfd *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }" if (parenthesized_expression "(pbVar6 != (bfd *)0x0)" ( (binary_expression "pbVar6 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (pbVar6 == file_00) goto LAB_00014adc;\n      }" { (expression_statement "(*(code *)PTR_bfd_close_0002a314)(pbVar6);" (call_expression "(*(code *)PTR_bfd_close_0002a314)(pbVar6)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar6)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(puVar1 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(puVar1 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(puVar1 + -0x5b80)" * (cast_expression "(undefined4 *)(puVar1 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x5b80)" ( (binary_expression "puVar1 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(local_2c + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(local_2c + -0x5b84)" * (cast_expression "(undefined4 *)(local_2c + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + -0x5b84)" ( (binary_expression "local_2c + -0x5b84" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (pbVar6 == file_00) goto LAB_00014adc;" if (parenthesized_expression "(pbVar6 == file_00)" ( (binary_expression "pbVar6 == file_00" identifier == identifier) )) (goto_statement "goto LAB_00014adc;" goto statement_identifier ;)) })) (expression_statement "pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00);" (assignment_expression "pbVar3 = (bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00)" identifier = (cast_expression "(bfd *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00)" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(file,file_00)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_0002a2e8" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_0002a2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,file_00)" ( identifier , identifier ))))) ;) (expression_statement "pbVar6 = file_00;" (assignment_expression "pbVar6 = file_00" identifier = identifier) ;) (expression_statement "file_00 = pbVar3;" (assignment_expression "file_00 = pbVar3" identifier = identifier) ;) })) (expression_statement "iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar2 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 9) {\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(file->filename);\n    }" if (parenthesized_expression "(iVar2 != 9)" ( (binary_expression "iVar2 != 9" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      bfd_fatal(file->filename);\n    }" { comment (expression_statement "bfd_fatal(file->filename);" (call_expression "bfd_fatal(file->filename)" identifier (argument_list "(file->filename)" ( (field_expression "file->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (pbVar6 != (bfd *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }" if (parenthesized_expression "(pbVar6 != (bfd *)0x0)" ( (binary_expression "pbVar6 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_bfd_close_0002a314)(pbVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }" { (expression_statement "(*(code *)PTR_bfd_close_0002a314)(pbVar6);" (call_expression "(*(code *)PTR_bfd_close_0002a314)(pbVar6)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar6)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b80)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b84)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b84" identifier + number_literal) )))) = number_literal) ;) })) }))) (labeled_statement "LAB_00014adc:\n  bVar8 = 1;" statement_identifier : (expression_statement "bVar8 = 1;" (assignment_expression "bVar8 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_00014ae0:\n  iVar2 = (*(code *)PTR_bfd_close_0002a314)(file);" statement_identifier : (expression_statement "iVar2 = (*(code *)PTR_bfd_close_0002a314)(file);" (assignment_expression "iVar2 = (*(code *)PTR_bfd_close_0002a314)(file)" identifier = (call_expression "(*(code *)PTR_bfd_close_0002a314)(file)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file)" ( identifier )))) ;)) (if_statement "if (iVar2 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return bVar8;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return bVar8;\n  }" { (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b80)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b84)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b84" identifier + number_literal) )))) = number_literal) ;) (return_statement "return bVar8;" return identifier ;) })) comment (expression_statement "bfd_fatal(filename);" (call_expression "bfd_fatal(filename)" identifier (argument_list "(filename)" ( identifier ))) ;) })))
(translation_unit "undefined4 FUN_000148f0(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  longlong lVar10;\n  int *local_38 [2];\n  code *local_30;\n  undefined *local_2c;\n  \n  lVar10 = get_file_size();\n  if (lVar10 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }\n  iVar3 = (*(code *)puVar7)(puVar2,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  uVar8 = 1;\nLAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);\n  if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }\n                    \n  bfd_fatal(param_1);\n}\n\n" (function_definition "undefined4 FUN_000148f0(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  longlong lVar10;\n  int *local_38 [2];\n  code *local_30;\n  undefined *local_2c;\n  \n  lVar10 = get_file_size();\n  if (lVar10 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }\n  iVar3 = (*(code *)puVar7)(puVar2,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  uVar8 = 1;\nLAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);\n  if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }\n                    \n  bfd_fatal(param_1);\n}" type_identifier (function_declarator "FUN_000148f0(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  longlong lVar10;\n  int *local_38 [2];\n  code *local_30;\n  undefined *local_2c;\n  \n  lVar10 = get_file_size();\n  if (lVar10 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }\n  iVar3 = (*(code *)puVar7)(puVar2,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  uVar8 = 1;\nLAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);\n  if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }\n                    \n  bfd_fatal(param_1);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "longlong lVar10;" type_identifier identifier ;) (declaration "int *local_38 [2];" primitive_type (pointer_declarator "*local_38 [2]" * (array_declarator "local_38 [2]" identifier [ number_literal ])) ;) (declaration "code *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "lVar10 = get_file_size();" (assignment_expression "lVar10 = get_file_size()" identifier = (call_expression "get_file_size()" identifier (argument_list "()" ( )))) ;) (if_statement "if (lVar10 < 1) {\n    return 0;\n  }" if (parenthesized_expression "(lVar10 < 1)" ( (binary_expression "lVar10 < 1" identifier < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);" (assignment_expression "puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" identifier = (pointer_expression "*(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" * (cast_expression "(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b7c)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b7c" identifier + number_literal) ))))) ;) (if_statement "if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }" if (parenthesized_expression "(puVar7 == (undefined *)0x0)" ( (binary_expression "puVar7 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }" { (expression_statement "puVar7 = PTR_DAT_0002a25c + -0x77f4;" (assignment_expression "puVar7 = PTR_DAT_0002a25c + -0x77f4" identifier = (binary_expression "PTR_DAT_0002a25c + -0x77f4" identifier + number_literal)) ;) })) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" (parenthesized_expression "(*(code *)PTR_bfd_openr_0002a3e4)" ( (pointer_expression "*(code *)PTR_bfd_openr_0002a3e4" * (cast_expression "(code *)PTR_bfd_openr_0002a3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,puVar7)" ( identifier , identifier ))))) ;) (expression_statement "puVar7 = PTR_bfd_check_format_0002a2ec;" (assignment_expression "puVar7 = PTR_bfd_check_format_0002a2ec" identifier = identifier) ;) (if_statement "if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }" if (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" ( (binary_expression "puVar2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    bfd_nonfatal(param_1);\n    return 0;\n  }" { (expression_statement "bfd_nonfatal(param_1);" (call_expression "bfd_nonfatal(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b64)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b64)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b64" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar2[10] = puVar2[10] | 0x400000;\n  }" { (expression_statement "puVar2[10] = puVar2[10] | 0x400000;" (assignment_expression "puVar2[10] = puVar2[10] | 0x400000" (subscript_expression "puVar2[10]" identifier [ number_literal ]) = (binary_expression "puVar2[10] | 0x400000" (subscript_expression "puVar2[10]" identifier [ number_literal ]) | number_literal)) ;) })) (expression_statement "iVar3 = (*(code *)puVar7)(puVar2,2);" (assignment_expression "iVar3 = (*(code *)puVar7)(puVar2,2)" identifier = (call_expression "(*(code *)puVar7)(puVar2,2)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,2)" ( identifier , number_literal )))) ;) (expression_statement "puVar7 = PTR_DAT_0002a248;" (assignment_expression "puVar7 = PTR_DAT_0002a248" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }" { (expression_statement "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_0002a304" * (cast_expression "(code *)PTR_bfd_check_format_matches_0002a304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,1,local_38)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }" { (expression_statement "bfd_nonfatal(param_1);" (call_expression "bfd_nonfatal(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (if_statement "if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }" if (parenthesized_expression "(iVar3 == 0xd)" ( (binary_expression "iVar3 == 0xd" identifier == number_literal) )) (compound_statement "{\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }" { (expression_statement "list_matching_formats(local_38[0]);" (call_expression "list_matching_formats(local_38[0])" identifier (argument_list "(local_38[0])" ( (subscript_expression "local_38[0]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_0002a3f4)(local_38[0]);" (call_expression "(*(code *)PTR_free_0002a3f4)(local_38[0])" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_38[0])" ( (subscript_expression "local_38[0]" identifier [ number_literal ]) ))) ;) })) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "FUN_00014834(puVar2);" (call_expression "FUN_00014834(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);" (call_expression "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1)" (parenthesized_expression "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))" ( (pointer_expression "*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (pointer_expression "*(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5e20)" ( (binary_expression "PTR_DAT_0002a248 + -0x5e20" identifier + number_literal) ))))))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "FUN_000130b4(puVar2,0);" (call_expression "FUN_000130b4(puVar2,0)" identifier (argument_list "(puVar2,0)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" else (compound_statement "{\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" { (expression_statement "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);" (call_expression "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2)" (parenthesized_expression "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))" ( (pointer_expression "**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" * (pointer_expression "*(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" * (cast_expression "(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5e20)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5e20)" ( (binary_expression "PTR_DAT_0002a248 + -0x5e20" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) ))) ;) (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }" if (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0)" ( (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b40)" * (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b40)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }" { (expression_statement "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38)" identifier = (call_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)" ( (pointer_expression "*(code *)PTR_bfd_get_next_mapent_0002a2bc" * (cast_expression "(code *)PTR_bfd_get_next_mapent_0002a2bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,0xffffffff,local_38)" ( identifier , number_literal , identifier )))) ;) (expression_statement "puVar1 = PTR_DAT_0002a25c;" (assignment_expression "puVar1 = PTR_DAT_0002a25c" identifier = identifier) ;) (if_statement "if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (compound_statement "{\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }" { (expression_statement "uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);" (assignment_expression "uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" ( (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" * (cast_expression "(code *)PTR_dcgettext_0002a3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0002a25c + -0x77ec,5)" ( number_literal , (binary_expression "PTR_DAT_0002a25c + -0x77ec" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_printf_0002a414)(uVar8);" (call_expression "(*(code *)PTR_printf_0002a414)(uVar8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "puVar9 = PTR_DAT_0002a25c + -0x6f68;" (assignment_expression "puVar9 = PTR_DAT_0002a25c + -0x6f68" identifier = (binary_expression "PTR_DAT_0002a25c + -0x6f68" identifier + number_literal)) ;) (do_statement "do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);" do (compound_statement "{\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        }" { (expression_statement "puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" (parenthesized_expression "(**(code **)(puVar2[1] + 0xf8))" ( (pointer_expression "**(code **)(puVar2[1] + 0xf8)" * (pointer_expression "*(code **)(puVar2[1] + 0xf8)" * (cast_expression "(code **)(puVar2[1] + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar2[1] + 0xf8)" ( (binary_expression "puVar2[1] + 0xf8" (subscript_expression "puVar2[1]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(puVar2,iVar3)" ( identifier , identifier ))))) ;) (if_statement "if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }" if (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" ( (binary_expression "puVar6 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }" { (expression_statement "bfd_fatal(PTR_DAT_0002a25c + -0x77d8);" (call_expression "bfd_fatal(PTR_DAT_0002a25c + -0x77d8)" identifier (argument_list "(PTR_DAT_0002a25c + -0x77d8)" ( (binary_expression "PTR_DAT_0002a25c + -0x77d8" identifier + number_literal) ))) ;) })) (if_statement "if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }" if (parenthesized_expression "(*local_38[0] != 0)" ( (binary_expression "*local_38[0] != 0" (pointer_expression "*local_38[0]" * (subscript_expression "local_38[0]" identifier [ number_literal ])) != number_literal) )) (compound_statement "{\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }" { (expression_statement "FUN_00011fe4(puVar9,*local_38[0],puVar2);" (call_expression "FUN_00011fe4(puVar9,*local_38[0],puVar2)" identifier (argument_list "(puVar9,*local_38[0],puVar2)" ( identifier , (pointer_expression "*local_38[0]" * (subscript_expression "local_38[0]" identifier [ number_literal ])) , identifier ))) ;) (expression_statement "(*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);" (call_expression "(*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" ( (pointer_expression "*(code *)PTR_printf_0002a414" * (cast_expression "(code *)PTR_printf_0002a414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1 + -0x77c0,*puVar6)" ( (binary_expression "puVar1 + -0x77c0" identifier + number_literal) , (pointer_expression "*puVar6" * identifier) ))) ;) })) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38)" identifier = (call_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)" ( (pointer_expression "*(code *)PTR_bfd_get_next_mapent_0002a2bc" * (cast_expression "(code *)PTR_bfd_get_next_mapent_0002a2bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,iVar3,local_38)" ( identifier , identifier , identifier )))) ;) }) while (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) ;) })) })) (expression_statement "puVar1 = PTR_DAT_0002a248;" (assignment_expression "puVar1 = PTR_DAT_0002a248" identifier = identifier) ;) (expression_statement "local_2c = PTR_DAT_0002a248;" (assignment_expression "local_2c = PTR_DAT_0002a248" identifier = identifier) ;) (expression_statement "local_30 = (code *)(PTR_0002a254 + 0x30b4);" (assignment_expression "local_30 = (code *)(PTR_0002a254 + 0x30b4)" identifier = (cast_expression "(code *)(PTR_0002a254 + 0x30b4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0002a254 + 0x30b4)" ( (binary_expression "PTR_0002a254 + 0x30b4" identifier + number_literal) )))) ;) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_0002a2e8" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_0002a2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,0)" ( identifier , number_literal ))))) ;) (expression_statement "puVar6 = (undefined4 *)0x0;" (assignment_expression "puVar6 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }" while (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" ( (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }" { (expression_statement "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38)" identifier = (call_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)" ( (pointer_expression "*(code *)PTR_bfd_check_format_matches_0002a304" * (cast_expression "(code *)PTR_bfd_check_format_matches_0002a304" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,1,local_38)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }" { (expression_statement "bfd_nonfatal(*puVar4);" (call_expression "bfd_nonfatal(*puVar4)" identifier (argument_list "(*puVar4)" ( (pointer_expression "*puVar4" * identifier) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }" if (parenthesized_expression "(iVar3 == 0xd)" ( (binary_expression "iVar3 == 0xd" identifier == number_literal) )) (compound_statement "{\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }" { (expression_statement "list_matching_formats(local_38[0]);" (call_expression "list_matching_formats(local_38[0])" identifier (argument_list "(local_38[0])" ( (subscript_expression "local_38[0]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_free_0002a3f4)(local_38[0]);" (call_expression "(*(code *)PTR_free_0002a3f4)(local_38[0])" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" ( (pointer_expression "*(code *)PTR_free_0002a3f4" * (cast_expression "(code *)PTR_free_0002a3f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_38[0])" ( (subscript_expression "local_38[0]" identifier [ number_literal ]) ))) ;) })) }) (else_clause "else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" else (compound_statement "{\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" { (expression_statement "FUN_00014834(puVar4);" (call_expression "FUN_00014834(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (expression_statement "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);" (call_expression "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4)" (parenthesized_expression "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))" ( (pointer_expression "**(code **)(*(int *)(puVar7 + -0x5e20) + 8)" * (pointer_expression "*(code **)(*(int *)(puVar7 + -0x5e20) + 8)" * (cast_expression "(code **)(*(int *)(puVar7 + -0x5e20) + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar7 + -0x5e20) + 8)" ( (binary_expression "*(int *)(puVar7 + -0x5e20) + 8" (pointer_expression "*(int *)(puVar7 + -0x5e20)" * (cast_expression "(int *)(puVar7 + -0x5e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + -0x5e20)" ( (binary_expression "puVar7 + -0x5e20" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*puVar2,*puVar4)" ( (pointer_expression "*puVar2" * identifier) , (pointer_expression "*puVar4" * identifier) ))) ;) (expression_statement "(*local_30)(puVar4,puVar2);" (call_expression "(*local_30)(puVar4,puVar2)" (parenthesized_expression "(*local_30)" ( (pointer_expression "*local_30" * identifier) )) (argument_list "(puVar4,puVar2)" ( identifier , identifier ))) ;) }))) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }" { (expression_statement "(*(code *)PTR_bfd_close_0002a314)(puVar6);" (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar6)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(puVar1 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(puVar1 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(puVar1 + -0x5b80)" * (cast_expression "(undefined4 *)(puVar1 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + -0x5b80)" ( (binary_expression "puVar1 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_2c + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(local_2c + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(local_2c + -0x5b84)" * (cast_expression "(undefined4 *)(local_2c + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + -0x5b84)" ( (binary_expression "local_2c + -0x5b84" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (puVar6 == puVar4) goto LAB_00014adc;" if (parenthesized_expression "(puVar6 == puVar4)" ( (binary_expression "puVar6 == puVar4" identifier == identifier) )) (goto_statement "goto LAB_00014adc;" goto statement_identifier ;)) })) (expression_statement "puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);" (assignment_expression "puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)" ( (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_0002a2e8" * (cast_expression "(code *)PTR_bfd_openr_next_archived_file_0002a2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,puVar4)" ( identifier , identifier ))))) ;) (expression_statement "puVar6 = puVar4;" (assignment_expression "puVar6 = puVar4" identifier = identifier) ;) (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" identifier = identifier) ;) })) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" identifier = (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" ( (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" * (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }" if (parenthesized_expression "(iVar3 != 9)" ( (binary_expression "iVar3 != 9" identifier != number_literal) )) (compound_statement "{\n                    \n      bfd_fatal(*puVar2);\n    }" { (expression_statement "bfd_fatal(*puVar2);" (call_expression "bfd_fatal(*puVar2)" identifier (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) ))) ;) })) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }" { (expression_statement "(*(code *)PTR_bfd_close_0002a314)(puVar6);" (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar6)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b80)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b84)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b84" identifier + number_literal) )))) = number_literal) ;) })) }))) (labeled_statement "LAB_00014adc:\n  uVar8 = 1;" statement_identifier : (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);" statement_identifier : (expression_statement "iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2)" identifier = (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar2)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" ( (pointer_expression "*(code *)PTR_bfd_close_0002a314" * (cast_expression "(code *)PTR_bfd_close_0002a314" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2)" ( identifier )))) ;)) (if_statement "if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }" { (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b80)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b80" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" * (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b84)" ( (binary_expression "PTR_DAT_0002a248 + -0x5b84" identifier + number_literal) )))) = number_literal) ;) (return_statement "return uVar8;" return identifier ;) })) (expression_statement "bfd_fatal(param_1);" (call_expression "bfd_fatal(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) })))
(translation_unit (function_definition TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (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 { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })) (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 (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( (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) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , 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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (subscript_expression IDENT [ LIT ])) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (subscript_expression IDENT [ LIT ])) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })))
(function_definition "undefined4 FUN_000148f0(undefined4 param_1)\n\n{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  longlong lVar10;\n  int *local_38 [2];\n  code *local_30;\n  undefined *local_2c;\n  \n  lVar10 = get_file_size();\n  if (lVar10 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }\n  iVar3 = (*(code *)puVar7)(puVar2,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  uVar8 = 1;\nLAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);\n  if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }\n                    \n  bfd_fatal(param_1);\n}" (type_identifier "undefined4") (function_declarator "FUN_000148f0(undefined4 param_1)" (identifier "FUN_000148f0") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  undefined4 *puVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  longlong lVar10;\n  int *local_38 [2];\n  code *local_30;\n  undefined *local_2c;\n  \n  lVar10 = get_file_size();\n  if (lVar10 < 1) {\n    return 0;\n  }\n  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);\n  if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }\n  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);\n  puVar7 = PTR_bfd_check_format_0002a2ec;\n  if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }\n  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }\n  iVar3 = (*(code *)puVar7)(puVar2,2);\n  puVar7 = PTR_DAT_0002a248;\n  if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }\nLAB_00014adc:\n  uVar8 = 1;\nLAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);\n  if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }\n                    \n  bfd_fatal(param_1);\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "longlong lVar10;" (type_identifier "longlong") (identifier "lVar10") (; ";")) (declaration "int *local_38 [2];" (primitive_type "int") (pointer_declarator "*local_38 [2]" (* "*") (array_declarator "local_38 [2]" (identifier "local_38") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "code *local_30;" (type_identifier "code") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "undefined *local_2c;" (type_identifier "undefined") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "lVar10 = get_file_size();" (assignment_expression "lVar10 = get_file_size()" (identifier "lVar10") (= "=") (call_expression "get_file_size()" (identifier "get_file_size") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar10 < 1) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(lVar10 < 1)" (( "(") (binary_expression "lVar10 < 1" (identifier "lVar10") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);" (assignment_expression "puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" (* "*") (cast_expression "(undefined **)(PTR_DAT_0002a248 + -0x5b7c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b7c)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b7c" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b7c")) () ")"))))) (; ";")) (if_statement "if (puVar7 == (undefined *)0x0) {\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }" (if "if") (parenthesized_expression "(puVar7 == (undefined *)0x0)" (( "(") (binary_expression "puVar7 == (undefined *)0x0" (identifier "puVar7") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    puVar7 = PTR_DAT_0002a25c + -0x77f4;\n  }" ({ "{") (expression_statement "puVar7 = PTR_DAT_0002a25c + -0x77f4;" (assignment_expression "puVar7 = PTR_DAT_0002a25c + -0x77f4" (identifier "puVar7") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x77f4" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x77f4"))) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7)" (parenthesized_expression "(*(code *)PTR_bfd_openr_0002a3e4)" (( "(") (pointer_expression "*(code *)PTR_bfd_openr_0002a3e4" (* "*") (cast_expression "(code *)PTR_bfd_openr_0002a3e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_openr_0002a3e4"))) () ")")) (argument_list "(param_1,puVar7)" (( "(") (identifier "param_1") (, ",") (identifier "puVar7") () ")"))))) (; ";")) (expression_statement "puVar7 = PTR_bfd_check_format_0002a2ec;" (assignment_expression "puVar7 = PTR_bfd_check_format_0002a2ec" (identifier "puVar7") (= "=") (identifier "PTR_bfd_check_format_0002a2ec")) (; ";")) (if_statement "if (puVar2 == (undefined4 *)0x0) {\n    bfd_nonfatal(param_1);\n    return 0;\n  }" (if "if") (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar2 == (undefined4 *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    bfd_nonfatal(param_1);\n    return 0;\n  }" ({ "{") (expression_statement "bfd_nonfatal(param_1);" (call_expression "bfd_nonfatal(param_1)" (identifier "bfd_nonfatal") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {\n    puVar2[10] = puVar2[10] | 0x400000;\n  }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0)" (( "(") (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b64)" (* "*") (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b64)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b64" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b64")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puVar2[10] = puVar2[10] | 0x400000;\n  }" ({ "{") (expression_statement "puVar2[10] = puVar2[10] | 0x400000;" (assignment_expression "puVar2[10] = puVar2[10] | 0x400000" (subscript_expression "puVar2[10]" (identifier "puVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "puVar2[10] | 0x400000" (subscript_expression "puVar2[10]" (identifier "puVar2") ([ "[") (number_literal "10") (] "]")) (| "|") (number_literal "0x400000"))) (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)puVar7)(puVar2,2);" (assignment_expression "iVar3 = (*(code *)puVar7)(puVar2,2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)puVar7)(puVar2,2)" (parenthesized_expression "(*(code *)puVar7)" (( "(") (pointer_expression "*(code *)puVar7" (* "*") (cast_expression "(code *)puVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) () ")")) (argument_list "(puVar2,2)" (( "(") (identifier "puVar2") (, ",") (number_literal "2") () ")")))) (; ";")) (expression_statement "puVar7 = PTR_DAT_0002a248;" (assignment_expression "puVar7 = PTR_DAT_0002a248" (identifier "puVar7") (= "=") (identifier "PTR_DAT_0002a248")) (; ";")) (if_statement "if (iVar3 == 0) {\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }\n  else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);\n    if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }\n    FUN_00014834(puVar2);\n    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);\n    FUN_000130b4(puVar2,0);\n  }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)" (( "(") (pointer_expression "*(code *)PTR_bfd_check_format_matches_0002a304" (* "*") (cast_expression "(code *)PTR_bfd_check_format_matches_0002a304" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_check_format_matches_0002a304"))) () ")")) (argument_list "(puVar2,1,local_38)" (( "(") (identifier "puVar2") (, ",") (number_literal "1") (, ",") (identifier "local_38") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      bfd_nonfatal(param_1);\n      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n      uVar8 = 0;\n      if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }\n      goto LAB_00014ae0;\n    }" ({ "{") (expression_statement "bfd_nonfatal(param_1);" (call_expression "bfd_nonfatal(param_1)" (identifier "bfd_nonfatal") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" (( "(") (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" (* "*") (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_get_error_0002a3bc"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar3 == 0xd) {\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }" (if "if") (parenthesized_expression "(iVar3 == 0xd)" (( "(") (binary_expression "iVar3 == 0xd" (identifier "iVar3") (== "==") (number_literal "0xd")) () ")")) (compound_statement "{\n        list_matching_formats(local_38[0]);\n        (*(code *)PTR_free_0002a3f4)(local_38[0]);\n      }" ({ "{") (expression_statement "list_matching_formats(local_38[0]);" (call_expression "list_matching_formats(local_38[0])" (identifier "list_matching_formats") (argument_list "(local_38[0])" (( "(") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_0002a3f4)(local_38[0]);" (call_expression "(*(code *)PTR_free_0002a3f4)(local_38[0])" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" (( "(") (pointer_expression "*(code *)PTR_free_0002a3f4" (* "*") (cast_expression "(code *)PTR_free_0002a3f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0002a3f4"))) () ")")) (argument_list "(local_38[0])" (( "(") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "FUN_00014834(puVar2);" (call_expression "FUN_00014834(puVar2)" (identifier "FUN_00014834") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))) (; ";")) (expression_statement "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);" (call_expression "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1)" (parenthesized_expression "(*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" (* "*") (cast_expression "(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" (* "*") (pointer_expression "*(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" (* "*") (cast_expression "(undefined4 **)(PTR_DAT_0002a248 + -0x5e20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5e20)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5e20" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5e20")) () ")"))))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_000130b4(puVar2,0);" (call_expression "FUN_000130b4(puVar2,0)" (identifier "FUN_000130b4") (argument_list "(puVar2,0)" (( "(") (identifier "puVar2") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" (else "else") (compound_statement "{\n    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);\n    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }\n    puVar1 = PTR_DAT_0002a248;\n    local_2c = PTR_DAT_0002a248;\n    local_30 = (code *)(PTR_0002a254 + 0x30b4);\n    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);\n    puVar6 = (undefined4 *)0x0;\n    while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }\n    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n    if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }\n    if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }\n  }" ({ "{") (expression_statement "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);" (call_expression "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2)" (parenthesized_expression "(**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))" (( "(") (pointer_expression "**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" (* "*") (pointer_expression "*(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" (* "*") (cast_expression "(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4)" (( "(") (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5e20)" (* "*") (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5e20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5e20)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5e20" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5e20")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")"))) (; ";")) (if_statement "if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0)" (( "(") (binary_expression "*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0" (pointer_expression "*(int *)(PTR_DAT_0002a248 + -0x5b40)" (* "*") (cast_expression "(int *)(PTR_DAT_0002a248 + -0x5b40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b40)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b40" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);\n      puVar1 = PTR_DAT_0002a25c;\n      if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)" (( "(") (pointer_expression "*(code *)PTR_bfd_get_next_mapent_0002a2bc" (* "*") (cast_expression "(code *)PTR_bfd_get_next_mapent_0002a2bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_get_next_mapent_0002a2bc"))) () ")")) (argument_list "(puVar2,0xffffffff,local_38)" (( "(") (identifier "puVar2") (, ",") (number_literal "0xffffffff") (, ",") (identifier "local_38") () ")")))) (; ";")) (expression_statement "puVar1 = PTR_DAT_0002a25c;" (assignment_expression "puVar1 = PTR_DAT_0002a25c" (identifier "puVar1") (= "=") (identifier "PTR_DAT_0002a25c")) (; ";")) (if_statement "if (iVar3 != -1) {\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }" (if "if") (parenthesized_expression "(iVar3 != -1)" (( "(") (binary_expression "iVar3 != -1" (identifier "iVar3") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);\n        (*(code *)PTR_printf_0002a414)(uVar8);\n        puVar9 = PTR_DAT_0002a25c + -0x6f68;\n        do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);\n      }" ({ "{") (expression_statement "uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);" (assignment_expression "uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0002a3d8)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0002a3d8" (* "*") (cast_expression "(code *)PTR_dcgettext_0002a3d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0002a3d8"))) () ")")) (argument_list "(0,PTR_DAT_0002a25c + -0x77ec,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_0002a25c + -0x77ec" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x77ec")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_printf_0002a414)(uVar8);" (call_expression "(*(code *)PTR_printf_0002a414)(uVar8)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "puVar9 = PTR_DAT_0002a25c + -0x6f68;" (assignment_expression "puVar9 = PTR_DAT_0002a25c + -0x6f68" (identifier "puVar9") (= "=") (binary_expression "PTR_DAT_0002a25c + -0x6f68" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x6f68"))) (; ";")) (do_statement "do {\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        } while (iVar3 != -1);" (do "do") (compound_statement "{\n          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);\n          if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }\n          if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }\n          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);\n        }" ({ "{") (expression_statement "puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3)" (parenthesized_expression "(**(code **)(puVar2[1] + 0xf8))" (( "(") (pointer_expression "**(code **)(puVar2[1] + 0xf8)" (* "*") (pointer_expression "*(code **)(puVar2[1] + 0xf8)" (* "*") (cast_expression "(code **)(puVar2[1] + 0xf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar2[1] + 0xf8)" (( "(") (binary_expression "puVar2[1] + 0xf8" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0xf8")) () ")"))))) () ")")) (argument_list "(puVar2,iVar3)" (( "(") (identifier "puVar2") (, ",") (identifier "iVar3") () ")"))))) (; ";")) (if_statement "if (puVar6 == (undefined4 *)0x0) {\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }" (if "if") (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar6 == (undefined4 *)0x0" (identifier "puVar6") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);\n          }" ({ "{") (expression_statement "bfd_fatal(PTR_DAT_0002a25c + -0x77d8);" (call_expression "bfd_fatal(PTR_DAT_0002a25c + -0x77d8)" (identifier "bfd_fatal") (argument_list "(PTR_DAT_0002a25c + -0x77d8)" (( "(") (binary_expression "PTR_DAT_0002a25c + -0x77d8" (identifier "PTR_DAT_0002a25c") (+ "+") (number_literal "-0x77d8")) () ")"))) (; ";")) (} "}"))) (if_statement "if (*local_38[0] != 0) {\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }" (if "if") (parenthesized_expression "(*local_38[0] != 0)" (( "(") (binary_expression "*local_38[0] != 0" (pointer_expression "*local_38[0]" (* "*") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            FUN_00011fe4(puVar9,*local_38[0],puVar2);\n            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);\n          }" ({ "{") (expression_statement "FUN_00011fe4(puVar9,*local_38[0],puVar2);" (call_expression "FUN_00011fe4(puVar9,*local_38[0],puVar2)" (identifier "FUN_00011fe4") (argument_list "(puVar9,*local_38[0],puVar2)" (( "(") (identifier "puVar9") (, ",") (pointer_expression "*local_38[0]" (* "*") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]"))) (, ",") (identifier "puVar2") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);" (call_expression "(*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6)" (parenthesized_expression "(*(code *)PTR_printf_0002a414)" (( "(") (pointer_expression "*(code *)PTR_printf_0002a414" (* "*") (cast_expression "(code *)PTR_printf_0002a414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_printf_0002a414"))) () ")")) (argument_list "(puVar1 + -0x77c0,*puVar6)" (( "(") (binary_expression "puVar1 + -0x77c0" (identifier "puVar1") (+ "+") (number_literal "-0x77c0")) (, ",") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_get_next_mapent_0002a2bc)" (( "(") (pointer_expression "*(code *)PTR_bfd_get_next_mapent_0002a2bc" (* "*") (cast_expression "(code *)PTR_bfd_get_next_mapent_0002a2bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_get_next_mapent_0002a2bc"))) () ")")) (argument_list "(puVar2,iVar3,local_38)" (( "(") (identifier "puVar2") (, ",") (identifier "iVar3") (, ",") (identifier "local_38") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 != -1)" (( "(") (binary_expression "iVar3 != -1" (identifier "iVar3") (!= "!=") (number_literal "-1")) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar1 = PTR_DAT_0002a248;" (assignment_expression "puVar1 = PTR_DAT_0002a248" (identifier "puVar1") (= "=") (identifier "PTR_DAT_0002a248")) (; ";")) (expression_statement "local_2c = PTR_DAT_0002a248;" (assignment_expression "local_2c = PTR_DAT_0002a248" (identifier "local_2c") (= "=") (identifier "PTR_DAT_0002a248")) (; ";")) (expression_statement "local_30 = (code *)(PTR_0002a254 + 0x30b4);" (assignment_expression "local_30 = (code *)(PTR_0002a254 + 0x30b4)" (identifier "local_30") (= "=") (cast_expression "(code *)(PTR_0002a254 + 0x30b4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_0002a254 + 0x30b4)" (( "(") (binary_expression "PTR_0002a254 + 0x30b4" (identifier "PTR_0002a254") (+ "+") (number_literal "0x30b4")) () ")")))) (; ";")) (expression_statement "puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);" (assignment_expression "puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)" (( "(") (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_0002a2e8" (* "*") (cast_expression "(code *)PTR_bfd_openr_next_archived_file_0002a2e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_openr_next_archived_file_0002a2e8"))) () ")")) (argument_list "(puVar2,0)" (( "(") (identifier "puVar2") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "puVar6 = (undefined4 *)0x0;" (assignment_expression "puVar6 = (undefined4 *)0x0" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (while_statement "while (puVar4 != (undefined4 *)0x0) {\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }" (while "while") (parenthesized_expression "(puVar4 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 != (undefined4 *)0x0" (identifier "puVar4") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);\n      if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }\n      if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }\n      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);\n      puVar6 = puVar4;\n      puVar4 = puVar5;\n    }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38)" (parenthesized_expression "(*(code *)PTR_bfd_check_format_matches_0002a304)" (( "(") (pointer_expression "*(code *)PTR_bfd_check_format_matches_0002a304" (* "*") (cast_expression "(code *)PTR_bfd_check_format_matches_0002a304" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_check_format_matches_0002a304"))) () ")")) (argument_list "(puVar4,1,local_38)" (( "(") (identifier "puVar4") (, ",") (number_literal "1") (, ",") (identifier "local_38") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }\n      else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        bfd_nonfatal(*puVar4);\n        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();\n        if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }\n      }" ({ "{") (expression_statement "bfd_nonfatal(*puVar4);" (call_expression "bfd_nonfatal(*puVar4)" (identifier "bfd_nonfatal") (argument_list "(*puVar4)" (( "(") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) () ")"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" (( "(") (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" (* "*") (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_get_error_0002a3bc"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0xd) {\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }" (if "if") (parenthesized_expression "(iVar3 == 0xd)" (( "(") (binary_expression "iVar3 == 0xd" (identifier "iVar3") (== "==") (number_literal "0xd")) () ")")) (compound_statement "{\n          list_matching_formats(local_38[0]);\n          (*(code *)PTR_free_0002a3f4)(local_38[0]);\n        }" ({ "{") (expression_statement "list_matching_formats(local_38[0]);" (call_expression "list_matching_formats(local_38[0])" (identifier "list_matching_formats") (argument_list "(local_38[0])" (( "(") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_0002a3f4)(local_38[0]);" (call_expression "(*(code *)PTR_free_0002a3f4)(local_38[0])" (parenthesized_expression "(*(code *)PTR_free_0002a3f4)" (( "(") (pointer_expression "*(code *)PTR_free_0002a3f4" (* "*") (cast_expression "(code *)PTR_free_0002a3f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0002a3f4"))) () ")")) (argument_list "(local_38[0])" (( "(") (subscript_expression "local_38[0]" (identifier "local_38") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" (else "else") (compound_statement "{\n        FUN_00014834(puVar4);\n        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);\n        (*local_30)(puVar4,puVar2);\n      }" ({ "{") (expression_statement "FUN_00014834(puVar4);" (call_expression "FUN_00014834(puVar4)" (identifier "FUN_00014834") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (expression_statement "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);" (call_expression "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4)" (parenthesized_expression "(**(code **)(*(int *)(puVar7 + -0x5e20) + 8))" (( "(") (pointer_expression "**(code **)(*(int *)(puVar7 + -0x5e20) + 8)" (* "*") (pointer_expression "*(code **)(*(int *)(puVar7 + -0x5e20) + 8)" (* "*") (cast_expression "(code **)(*(int *)(puVar7 + -0x5e20) + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar7 + -0x5e20) + 8)" (( "(") (binary_expression "*(int *)(puVar7 + -0x5e20) + 8" (pointer_expression "*(int *)(puVar7 + -0x5e20)" (* "*") (cast_expression "(int *)(puVar7 + -0x5e20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + -0x5e20)" (( "(") (binary_expression "puVar7 + -0x5e20" (identifier "puVar7") (+ "+") (number_literal "-0x5e20")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(*puVar2,*puVar4)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (, ",") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) () ")"))) (; ";")) (expression_statement "(*local_30)(puVar4,puVar2);" (call_expression "(*local_30)(puVar4,puVar2)" (parenthesized_expression "(*local_30)" (( "(") (pointer_expression "*local_30" (* "*") (identifier "local_30")) () ")")) (argument_list "(puVar4,puVar2)" (( "(") (identifier "puVar4") (, ",") (identifier "puVar2") () ")"))) (; ";")) (} "}")))) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }" (if "if") (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar6 != (undefined4 *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (*(code *)PTR_bfd_close_0002a314)(puVar6);\n        *(undefined4 *)(puVar1 + -0x5b80) = 0;\n        *(undefined4 *)(local_2c + -0x5b84) = 0;\n        if (puVar6 == puVar4) goto LAB_00014adc;\n      }" ({ "{") (expression_statement "(*(code *)PTR_bfd_close_0002a314)(puVar6);" (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar6)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" (( "(") (pointer_expression "*(code *)PTR_bfd_close_0002a314" (* "*") (cast_expression "(code *)PTR_bfd_close_0002a314" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_close_0002a314"))) () ")")) (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar1 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(puVar1 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(puVar1 + -0x5b80)" (* "*") (cast_expression "(undefined4 *)(puVar1 + -0x5b80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + -0x5b80)" (( "(") (binary_expression "puVar1 + -0x5b80" (identifier "puVar1") (+ "+") (number_literal "-0x5b80")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(local_2c + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(local_2c + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(local_2c + -0x5b84)" (* "*") (cast_expression "(undefined4 *)(local_2c + -0x5b84)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_2c + -0x5b84)" (( "(") (binary_expression "local_2c + -0x5b84" (identifier "local_2c") (+ "+") (number_literal "-0x5b84")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar6 == puVar4) goto LAB_00014adc;" (if "if") (parenthesized_expression "(puVar6 == puVar4)" (( "(") (binary_expression "puVar6 == puVar4" (identifier "puVar6") (== "==") (identifier "puVar4")) () ")")) (goto_statement "goto LAB_00014adc;" (goto "goto") (statement_identifier "LAB_00014adc") (; ";"))) (} "}"))) (expression_statement "puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);" (assignment_expression "puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4)" (parenthesized_expression "(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)" (( "(") (pointer_expression "*(code *)PTR_bfd_openr_next_archived_file_0002a2e8" (* "*") (cast_expression "(code *)PTR_bfd_openr_next_archived_file_0002a2e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_openr_next_archived_file_0002a2e8"))) () ")")) (argument_list "(puVar2,puVar4)" (( "(") (identifier "puVar2") (, ",") (identifier "puVar4") () ")"))))) (; ";")) (expression_statement "puVar6 = puVar4;" (assignment_expression "puVar6 = puVar4" (identifier "puVar6") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "puVar4 = puVar5;" (assignment_expression "puVar4 = puVar5" (identifier "puVar4") (= "=") (identifier "puVar5")) (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();" (assignment_expression "iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bfd_get_error_0002a3bc)()" (parenthesized_expression "(*(code *)PTR_bfd_get_error_0002a3bc)" (( "(") (pointer_expression "*(code *)PTR_bfd_get_error_0002a3bc" (* "*") (cast_expression "(code *)PTR_bfd_get_error_0002a3bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_get_error_0002a3bc"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 != 9) {\n                    \n      bfd_fatal(*puVar2);\n    }" (if "if") (parenthesized_expression "(iVar3 != 9)" (( "(") (binary_expression "iVar3 != 9" (identifier "iVar3") (!= "!=") (number_literal "9")) () ")")) (compound_statement "{\n                    \n      bfd_fatal(*puVar2);\n    }" ({ "{") (expression_statement "bfd_fatal(*puVar2);" (call_expression "bfd_fatal(*puVar2)" (identifier "bfd_fatal") (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }" (if "if") (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar6 != (undefined4 *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*(code *)PTR_bfd_close_0002a314)(puVar6);\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    }" ({ "{") (expression_statement "(*(code *)PTR_bfd_close_0002a314)(puVar6);" (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar6)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" (( "(") (pointer_expression "*(code *)PTR_bfd_close_0002a314" (* "*") (cast_expression "(code *)PTR_bfd_close_0002a314" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_close_0002a314"))) () ")")) (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b80)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b80" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b80")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b84)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b84" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b84")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00014adc:\n  uVar8 = 1;" (statement_identifier "LAB_00014adc") (: ":") (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" (identifier "uVar8") (= "=") (number_literal "1")) (; ";"))) (labeled_statement "LAB_00014ae0:\n  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);" (statement_identifier "LAB_00014ae0") (: ":") (expression_statement "iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);" (assignment_expression "iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_bfd_close_0002a314)(puVar2)" (parenthesized_expression "(*(code *)PTR_bfd_close_0002a314)" (( "(") (pointer_expression "*(code *)PTR_bfd_close_0002a314" (* "*") (cast_expression "(code *)PTR_bfd_close_0002a314" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bfd_close_0002a314"))) () ")")) (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")")))) (; ";"))) (if_statement "if (iVar3 != 0) {\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;\n    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;\n    return uVar8;\n  }" ({ "{") (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b80)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b80)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b80" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b80")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0002a248 + -0x5b84)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0002a248 + -0x5b84)" (( "(") (binary_expression "PTR_DAT_0002a248 + -0x5b84" (identifier "PTR_DAT_0002a248") (+ "+") (number_literal "-0x5b84")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}"))) (expression_statement "bfd_fatal(param_1);" (call_expression "bfd_fatal(param_1)" (identifier "bfd_fatal") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) 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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (number_literal)))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) (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: (identifier)))) arguments: (argument_list (identifier) (number_literal))))) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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))))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (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))))))) arguments: (argument_list (pointer_expression argument: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) arguments: (argument_list (identifier) (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 (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (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: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) body: (compound_statement (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: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (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: (identifier)))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (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))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier)))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (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 (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))))

/* WARNING: Removing unreachable block (ram,0x00014bf0) */

undefined4 MASKED(undefined4 param_1)

{
  undefined *puVar1;
  undefined4 *puVar2;
  int iVar3;
  undefined4 *puVar4;
  undefined4 *puVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  undefined4 uVar8;
  undefined *puVar9;
  longlong lVar10;
  int *local_38 [2];
  code *local_30;
  undefined *local_2c;
  
  lVar10 = get_file_size();
  if (lVar10 < 1) {
    return 0;
  }
  puVar7 = *(undefined **)(PTR_DAT_0002a248 + -0x5b7c);
  if (puVar7 == (undefined *)0x0) {
    puVar7 = PTR_DAT_0002a25c + -0x77f4;
  }
  puVar2 = (undefined4 *)(*(code *)PTR_bfd_openr_0002a3e4)(param_1,puVar7);
  puVar7 = PTR_bfd_check_format_0002a2ec;
  if (puVar2 == (undefined4 *)0x0) {
    bfd_nonfatal(param_1);
    return 0;
  }
  if (*(int *)(PTR_DAT_0002a248 + -0x5b64) != 0) {
    puVar2[10] = puVar2[10] | 0x400000;
  }
  iVar3 = (*(code *)puVar7)(puVar2,2);
  puVar7 = PTR_DAT_0002a248;
  if (iVar3 == 0) {
    iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar2,1,local_38);
    if (iVar3 == 0) {
      bfd_nonfatal(param_1);
      iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();
      uVar8 = 0;
      if (iVar3 == 0xd) {
        list_matching_formats(local_38[0]);
        (*(code *)PTR_free_0002a3f4)(local_38[0]);
      }
      goto LAB_00014ae0;
    }
    FUN_00014834(puVar2);
    (*(code *)**(undefined4 **)(PTR_DAT_0002a248 + -0x5e20))(param_1);
    FUN_000130b4(puVar2,0);
  }
  else {
    (**(code **)(*(int *)(PTR_DAT_0002a248 + -0x5e20) + 4))(*puVar2);
    if (*(int *)(PTR_DAT_0002a248 + -0x5b40) != 0) {
      iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,0xffffffff,local_38);
      puVar1 = PTR_DAT_0002a25c;
      if (iVar3 != -1) {
        uVar8 = (*(code *)PTR_dcgettext_0002a3d8)(0,PTR_DAT_0002a25c + -0x77ec,5);
        (*(code *)PTR_printf_0002a414)(uVar8);
        puVar9 = PTR_DAT_0002a25c + -0x6f68;
        do {
          puVar6 = (undefined4 *)(**(code **)(puVar2[1] + 0xf8))(puVar2,iVar3);
          if (puVar6 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
            bfd_fatal(PTR_DAT_0002a25c + -0x77d8);
          }
          if (*local_38[0] != 0) {
            FUN_00011fe4(puVar9,*local_38[0],puVar2);
            (*(code *)PTR_printf_0002a414)(puVar1 + -0x77c0,*puVar6);
          }
          iVar3 = (*(code *)PTR_bfd_get_next_mapent_0002a2bc)(puVar2,iVar3,local_38);
        } while (iVar3 != -1);
      }
    }
    puVar1 = PTR_DAT_0002a248;
    local_2c = PTR_DAT_0002a248;
    local_30 = (code *)(PTR_0002a254 + 0x30b4);
    puVar4 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,0);
    puVar6 = (undefined4 *)0x0;
    while (puVar4 != (undefined4 *)0x0) {
      iVar3 = (*(code *)PTR_bfd_check_format_matches_0002a304)(puVar4,1,local_38);
      if (iVar3 == 0) {
        bfd_nonfatal(*puVar4);
        iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();
        if (iVar3 == 0xd) {
          list_matching_formats(local_38[0]);
          (*(code *)PTR_free_0002a3f4)(local_38[0]);
        }
      }
      else {
        FUN_00014834(puVar4);
        (**(code **)(*(int *)(puVar7 + -0x5e20) + 8))(*puVar2,*puVar4);
        (*local_30)(puVar4,puVar2);
      }
      if (puVar6 != (undefined4 *)0x0) {
        (*(code *)PTR_bfd_close_0002a314)(puVar6);
        *(undefined4 *)(puVar1 + -0x5b80) = 0;
        *(undefined4 *)(local_2c + -0x5b84) = 0;
        if (puVar6 == puVar4) goto LAB_00014adc;
      }
      puVar5 = (undefined4 *)(*(code *)PTR_bfd_openr_next_archived_file_0002a2e8)(puVar2,puVar4);
      puVar6 = puVar4;
      puVar4 = puVar5;
    }
    iVar3 = (*(code *)PTR_bfd_get_error_0002a3bc)();
    if (iVar3 != 9) {
                    /* WARNING: Subroutine does not return */
      bfd_fatal(*puVar2);
    }
    if (puVar6 != (undefined4 *)0x0) {
      (*(code *)PTR_bfd_close_0002a314)(puVar6);
      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;
      *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;
    }
  }
LAB_00014adc:
  uVar8 = 1;
LAB_00014ae0:
  iVar3 = (*(code *)PTR_bfd_close_0002a314)(puVar2);
  if (iVar3 != 0) {
    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b80) = 0;
    *(undefined4 *)(PTR_DAT_0002a248 + -0x5b84) = 0;
    return uVar8;
  }
                    /* WARNING: Subroutine does not return */
  bfd_fatal(param_1);
}

