
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void run(Check_library * this, Workqueue * param_1) */

void __thiscall gold::Check_library::run(Check_library *this,Workqueue *param_1)

{
  bool bVar1;
  int iVar2;
  undefined4 uVar3;
  int *piVar4;
  undefined *puVar5;
  undefined4 uVar6;
  int iVar7;
  undefined4 unaff_s0;
  Incremental_library *pIVar8;
  Check_library *unaff_s1;
  Incremental_inputs *pIVar9;
  undefined *puVar10;
  code *pcVar11;
  char acStack_40 [12];
  undefined4 uStack_34;
  Check_library *pCStack_30;
  code *pcStack_2c;
  
  pIVar9 = this->layout_->incremental_inputs_;
  uVar6 = 0x2ef;
  if (pIVar9 != (Incremental_inputs *)0x0) {
    pIVar8 = (this->ibase_->library_map_).
             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>
             ._M_impl._M_start[this->input_file_index_];
    if (pIVar8 != (Incremental_library *)0x0) {
      (*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);
      bVar1 = pIVar8->is_reported_;
      pIVar8->is_reported_ = true;
      if (bVar1 == false) {
        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);
        (*(code *)PTR_report_archive_begin_00434dd8)
                  (pIVar9,pIVar8,iVar2,
                   (this->ibase_->script_map_).
                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.
                   _M_impl._M_start[pIVar8->input_file_index_]);
      }
                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);
      return;
    }
    uVar6 = 0x2f1;
    unaff_s0 = 0;
    unaff_s1 = this;
  }
  pcVar11 = Read_script::run;
  puVar5 = PTR_s__0043226c + -0x6f68;
  puVar10 = PTR_do_gold_unreachable_004323c4;
  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar5,uVar6,PTR_s__0043226c + -0x6e00);
  uStack_34 = unaff_s0;
  pCStack_30 = unaff_s1;
  pcStack_2c = pcVar11;
  iVar2 = (**(code **)(puVar10 + 0x247e74))
                    (uVar6,*(undefined4 *)(puVar5 + 0x24),*(undefined4 *)(puVar5 + 0x28),
                     *(undefined4 *)(puVar5 + 0x2c),*(undefined4 *)(puVar5 + 0x30),
                     *(undefined4 *)(puVar5 + 0x34),*(undefined4 *)(puVar5 + 0x38),
                     *(undefined4 *)(puVar5 + 0x3c),*(undefined4 *)(puVar5 + 0x40),
                     *(undefined4 *)(puVar5 + 0x44),*(undefined4 *)(puVar5 + 0x4c),acStack_40);
  if (iVar2 == 0) {
    uVar3 = (**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50);
    (**(code **)(puVar10 + 0x245e18))(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20));
    if (acStack_40[0] == '\0') {
      pcVar11 = *(code **)(puVar10 + 0x2453d0);
      goto LAB_001ed04c;
    }
  }
  else {
    pcVar11 = *(code **)(puVar10 + 0x2453d0);
    if (acStack_40[0] == '\0') {
LAB_001ed04c:
      piVar4 = (int *)(*pcVar11)(0x2c);
      iVar7 = *(int *)(puVar5 + 0x4c);
      piVar4[2] = (int)(piVar4 + 4);
      piVar4[1] = 0;
      iVar2 = *(int *)(puVar10 + 0x247e78);
      pcVar11 = *(code **)(puVar10 + 0x246710);
      piVar4[3] = 0;
      *(undefined1 *)(piVar4 + 4) = 0;
      *(undefined1 *)(piVar4 + 8) = 0;
      *piVar4 = iVar2 + 8;
      piVar4[9] = 0;
      piVar4[10] = iVar7;
      (*pcVar11)(uVar6,piVar4);
      return;
    }
  }
  return;
}



void FUN_001ece6c(int param_1)

{
  char cVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  
  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);
  uVar2 = 0x2ef;
  if (iVar4 != 0) {
    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);
    if (iVar3 != 0) {
      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);
      cVar1 = *(char *)(iVar3 + 0x38);
      *(undefined1 *)(iVar3 + 0x38) = 1;
      if (cVar1 == '\0') {
        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));
        (*(code *)PTR_report_archive_begin_00434dd8)
                  (iVar4,iVar3,uVar2,
                   *(undefined4 *)
                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));
      }
                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);
      return;
    }
    uVar2 = 0x2f1;
  }
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);
  return;
}


lui gp,0x25
addiu gp,gp,-0x2c9c
addu gp,gp,t9
lw v0,0x24(a0)
addiu sp,sp,-0x28
sw s2,0x20(sp)
sw gp,0x10(sp)
sw ra,0x24(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
lw s2,0x1dc(v0)
beq s2,zero,0x001ecf54
_li a1,0x2ef
lw v0,0x28(a0)
lw v1,0x2c(a0)
lw v0,0x10(v0)
sll v1,v1,0x2
addu v0,v0,v1
lw s0,0x0(v0)
beq s0,zero,0x001ecf50
_or s1,a0,zero
lw t9,-0x53fc(gp)
jalr t9
_or a0,s0,zero
li v1,0x1
lbu v0,0x38(s0)
lw gp,0x10(sp)
bne v0,zero,0x001ecf2c
_sb v1,0x38(s0)
lw v0,0x28(s0)
or a0,v0,zero
lw v0,0x0(v0)
lw t9,0x14(v0)
jalr t9
_nop
or a1,s0,zero
lw a3,0x28(s1)
or a2,v0,zero
lw v1,0x24(s0)
or a0,s2,zero
lw gp,0x10(sp)
lw v0,0x1c(a3)
sll v1,v1,0x2
lw t9,-0x53f8(gp)
addu v0,v0,v1
jalr t9
_lw a3,0x0(v0)
lw gp,0x10(sp)
lw ra,0x24(sp)
or a1,s0,zero
lw s1,0x1c(sp)
or a0,s2,zero
lw s0,0x18(sp)
lw s2,0x20(sp)
lw t9,-0x53f4(gp)
jr t9
_addiu sp,sp,0x28
li a1,0x2f1
lw a2,-0x7f64(gp)
lw a0,-0x7f64(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,-0x6e00
jalr t9
_addiu a0,a0,-0x6f68
(translation_unit "void FUN_001ece6c(int param_1)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);\n  uVar2 = 0x2ef;\n  if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);\n  return;\n}\n\n" (function_definition "void FUN_001ece6c(int param_1)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);\n  uVar2 = 0x2ef;\n  if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);\n  return;\n}" primitive_type (function_declarator "FUN_001ece6c(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);\n  uVar2 = 0x2ef;\n  if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (expression_statement "iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);" (assignment_expression "iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" * (cast_expression "(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x24) + 0x1dc)" ( (binary_expression "*(int *)(param_1 + 0x24) + 0x1dc" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar2 = 0x2ef;" (assignment_expression "uVar2 = 0x2ef" identifier = number_literal) ;) (if_statement "if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }" { (expression_statement "iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);" (assignment_expression "iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" * (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x28) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x28) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x28) + 0x10" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "*(int *)(param_1 + 0x2c) * 4" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }" { (expression_statement "(*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);" (call_expression "(*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3)" (parenthesized_expression "(*(code *)PTR_copy_unused_symbols_00434dd4)" ( (pointer_expression "*(code *)PTR_copy_unused_symbols_00434dd4" * (cast_expression "(code *)PTR_copy_unused_symbols_00434dd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "cVar1 = *(char *)(iVar3 + 0x38);" (assignment_expression "cVar1 = *(char *)(iVar3 + 0x38)" identifier = (pointer_expression "*(char *)(iVar3 + 0x38)" * (cast_expression "(char *)(iVar3 + 0x38)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar3 + 0x38) = 1;" (assignment_expression "*(undefined1 *)(iVar3 + 0x38) = 1" (pointer_expression "*(undefined1 *)(iVar3 + 0x38)" * (cast_expression "(undefined1 *)(iVar3 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }" { (expression_statement "uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));" (assignment_expression "uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28))" identifier = (call_expression "(**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28))" (parenthesized_expression "(**(code **)(**(int **)(iVar3 + 0x28) + 0x14))" ( (pointer_expression "**(code **)(**(int **)(iVar3 + 0x28) + 0x14)" * (pointer_expression "*(code **)(**(int **)(iVar3 + 0x28) + 0x14)" * (cast_expression "(code **)(**(int **)(iVar3 + 0x28) + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar3 + 0x28) + 0x14)" ( (binary_expression "**(int **)(iVar3 + 0x28) + 0x14" (pointer_expression "**(int **)(iVar3 + 0x28)" * (pointer_expression "*(int **)(iVar3 + 0x28)" * (cast_expression "(int **)(iVar3 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar3 + 0x28))" ( (pointer_expression "*(int **)(iVar3 + 0x28)" * (cast_expression "(int **)(iVar3 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) )))) ;) (expression_statement "(*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));" (call_expression "(*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4))" (parenthesized_expression "(*(code *)PTR_report_archive_begin_00434dd8)" ( (pointer_expression "*(code *)PTR_report_archive_begin_00434dd8" * (cast_expression "(code *)PTR_report_archive_begin_00434dd8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4))" ( identifier , identifier , identifier , (pointer_expression "*(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" * (cast_expression "(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x28) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x28) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x28) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "*(int *)(iVar3 + 0x24) * 4" (pointer_expression "*(int *)(iVar3 + 0x24)" * (cast_expression "(int *)(iVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x24)" ( (binary_expression "iVar3 + 0x24" identifier + number_literal) )))) * number_literal)) )))) ))) ;) })) comment comment (expression_statement "(*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);" (call_expression "(*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3)" (parenthesized_expression "(*(code *)PTR_report_archive_end_00434ddc)" ( (pointer_expression "*(code *)PTR_report_archive_end_00434ddc" * (cast_expression "(code *)PTR_report_archive_end_00434ddc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,iVar3)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar2 = 0x2f1;" (assignment_expression "uVar2 = 0x2f1" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00)" ( (binary_expression "PTR_DAT_0043226c + -0x6f68" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0043226c + -0x6e00" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: void run(Check_library * this, Workqueue * param_1) */\n\nvoid __thiscall gold::Check_library::run(Check_library *this,Workqueue *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 unaff_s0;\n  Incremental_library *pIVar8;\n  Check_library *unaff_s1;\n  Incremental_inputs *pIVar9;\n  undefined *puVar10;\n  code *pcVar11;\n  char acStack_40 [12];\n  undefined4 uStack_34;\n  Check_library *pCStack_30;\n  code *pcStack_2c;\n  \n  pIVar9 = this->layout_->incremental_inputs_;\n  uVar6 = 0x2ef;\n  if (pIVar9 != (Incremental_inputs *)0x0) {\n    pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl._M_start[this->input_file_index_];\n    if (pIVar8 != (Incremental_library *)0x0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);\n      bVar1 = pIVar8->is_reported_;\n      pIVar8->is_reported_ = true;\n      if (bVar1 == false) {\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);\n      return;\n    }\n    uVar6 = 0x2f1;\n    unaff_s0 = 0;\n    unaff_s1 = this;\n  }\n  pcVar11 = Read_script::run;\n  puVar5 = PTR_s__0043226c + -0x6f68;\n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar5,uVar6,PTR_s__0043226c + -0x6e00);\n  uStack_34 = unaff_s0;\n  pCStack_30 = unaff_s1;\n  pcStack_2c = pcVar11;\n  iVar2 = (**(code **)(puVar10 + 0x247e74))\n                    (uVar6,*(undefined4 *)(puVar5 + 0x24),*(undefined4 *)(puVar5 + 0x28),\n                     *(undefined4 *)(puVar5 + 0x2c),*(undefined4 *)(puVar5 + 0x30),\n                     *(undefined4 *)(puVar5 + 0x34),*(undefined4 *)(puVar5 + 0x38),\n                     *(undefined4 *)(puVar5 + 0x3c),*(undefined4 *)(puVar5 + 0x40),\n                     *(undefined4 *)(puVar5 + 0x44),*(undefined4 *)(puVar5 + 0x4c),acStack_40);\n  if (iVar2 == 0) {\n    uVar3 = (**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50);\n    (**(code **)(puVar10 + 0x245e18))(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20));\n    if (acStack_40[0] == '\0') {\n      pcVar11 = *(code **)(puVar10 + 0x2453d0);\n      goto LAB_001ed04c;\n    }\n  }\n  else {\n    pcVar11 = *(code **)(puVar10 + 0x2453d0);\n    if (acStack_40[0] == '\0') {\nLAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);\n      iVar7 = *(int *)(puVar5 + 0x4c);\n      piVar4[2] = (int)(piVar4 + 4);\n      piVar4[1] = 0;\n      iVar2 = *(int *)(puVar10 + 0x247e78);\n      pcVar11 = *(code **)(puVar10 + 0x246710);\n      piVar4[3] = 0;\n      *(undefined1 *)(piVar4 + 4) = 0;\n      *(undefined1 *)(piVar4 + 8) = 0;\n      *piVar4 = iVar2 + 8;\n      piVar4[9] = 0;\n      piVar4[10] = iVar7;\n      (*pcVar11)(uVar6,piVar4);\n      return;\n    }\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment (function_definition "void __thiscall gold::Check_library::run(Check_library *this,Workqueue *param_1)\n\n{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 unaff_s0;\n  Incremental_library *pIVar8;\n  Check_library *unaff_s1;\n  Incremental_inputs *pIVar9;\n  undefined *puVar10;\n  code *pcVar11;\n  char acStack_40 [12];\n  undefined4 uStack_34;\n  Check_library *pCStack_30;\n  code *pcStack_2c;\n  \n  pIVar9 = this->layout_->incremental_inputs_;\n  uVar6 = 0x2ef;\n  if (pIVar9 != (Incremental_inputs *)0x0) {\n    pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl._M_start[this->input_file_index_];\n    if (pIVar8 != (Incremental_library *)0x0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);\n      bVar1 = pIVar8->is_reported_;\n      pIVar8->is_reported_ = true;\n      if (bVar1 == false) {\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);\n      return;\n    }\n    uVar6 = 0x2f1;\n    unaff_s0 = 0;\n    unaff_s1 = this;\n  }\n  pcVar11 = Read_script::run;\n  puVar5 = PTR_s__0043226c + -0x6f68;\n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar5,uVar6,PTR_s__0043226c + -0x6e00);\n  uStack_34 = unaff_s0;\n  pCStack_30 = unaff_s1;\n  pcStack_2c = pcVar11;\n  iVar2 = (**(code **)(puVar10 + 0x247e74))\n                    (uVar6,*(undefined4 *)(puVar5 + 0x24),*(undefined4 *)(puVar5 + 0x28),\n                     *(undefined4 *)(puVar5 + 0x2c),*(undefined4 *)(puVar5 + 0x30),\n                     *(undefined4 *)(puVar5 + 0x34),*(undefined4 *)(puVar5 + 0x38),\n                     *(undefined4 *)(puVar5 + 0x3c),*(undefined4 *)(puVar5 + 0x40),\n                     *(undefined4 *)(puVar5 + 0x44),*(undefined4 *)(puVar5 + 0x4c),acStack_40);\n  if (iVar2 == 0) {\n    uVar3 = (**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50);\n    (**(code **)(puVar10 + 0x245e18))(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20));\n    if (acStack_40[0] == '\0') {\n      pcVar11 = *(code **)(puVar10 + 0x2453d0);\n      goto LAB_001ed04c;\n    }\n  }\n  else {\n    pcVar11 = *(code **)(puVar10 + 0x2453d0);\n    if (acStack_40[0] == '\0') {\nLAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);\n      iVar7 = *(int *)(puVar5 + 0x4c);\n      piVar4[2] = (int)(piVar4 + 4);\n      piVar4[1] = 0;\n      iVar2 = *(int *)(puVar10 + 0x247e78);\n      pcVar11 = *(code **)(puVar10 + 0x246710);\n      piVar4[3] = 0;\n      *(undefined1 *)(piVar4 + 4) = 0;\n      *(undefined1 *)(piVar4 + 8) = 0;\n      *piVar4 = iVar2 + 8;\n      piVar4[9] = 0;\n      piVar4[10] = iVar7;\n      (*pcVar11)(uVar6,piVar4);\n      return;\n    }\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Check_library::" identifier : : identifier : :) (function_declarator "run(Check_library *this,Workqueue *param_1)" identifier (parameter_list "(Check_library *this,Workqueue *param_1)" ( (parameter_declaration "Check_library *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Workqueue *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int *piVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 unaff_s0;\n  Incremental_library *pIVar8;\n  Check_library *unaff_s1;\n  Incremental_inputs *pIVar9;\n  undefined *puVar10;\n  code *pcVar11;\n  char acStack_40 [12];\n  undefined4 uStack_34;\n  Check_library *pCStack_30;\n  code *pcStack_2c;\n  \n  pIVar9 = this->layout_->incremental_inputs_;\n  uVar6 = 0x2ef;\n  if (pIVar9 != (Incremental_inputs *)0x0) {\n    pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl._M_start[this->input_file_index_];\n    if (pIVar8 != (Incremental_library *)0x0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);\n      bVar1 = pIVar8->is_reported_;\n      pIVar8->is_reported_ = true;\n      if (bVar1 == false) {\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);\n      return;\n    }\n    uVar6 = 0x2f1;\n    unaff_s0 = 0;\n    unaff_s1 = this;\n  }\n  pcVar11 = Read_script::run;\n  puVar5 = PTR_s__0043226c + -0x6f68;\n  puVar10 = PTR_do_gold_unreachable_004323c4;\n  (*(code *)PTR_do_gold_unreachable_004323c4)(puVar5,uVar6,PTR_s__0043226c + -0x6e00);\n  uStack_34 = unaff_s0;\n  pCStack_30 = unaff_s1;\n  pcStack_2c = pcVar11;\n  iVar2 = (**(code **)(puVar10 + 0x247e74))\n                    (uVar6,*(undefined4 *)(puVar5 + 0x24),*(undefined4 *)(puVar5 + 0x28),\n                     *(undefined4 *)(puVar5 + 0x2c),*(undefined4 *)(puVar5 + 0x30),\n                     *(undefined4 *)(puVar5 + 0x34),*(undefined4 *)(puVar5 + 0x38),\n                     *(undefined4 *)(puVar5 + 0x3c),*(undefined4 *)(puVar5 + 0x40),\n                     *(undefined4 *)(puVar5 + 0x44),*(undefined4 *)(puVar5 + 0x4c),acStack_40);\n  if (iVar2 == 0) {\n    uVar3 = (**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50);\n    (**(code **)(puVar10 + 0x245e18))(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20));\n    if (acStack_40[0] == '\0') {\n      pcVar11 = *(code **)(puVar10 + 0x2453d0);\n      goto LAB_001ed04c;\n    }\n  }\n  else {\n    pcVar11 = *(code **)(puVar10 + 0x2453d0);\n    if (acStack_40[0] == '\0') {\nLAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);\n      iVar7 = *(int *)(puVar5 + 0x4c);\n      piVar4[2] = (int)(piVar4 + 4);\n      piVar4[1] = 0;\n      iVar2 = *(int *)(puVar10 + 0x247e78);\n      pcVar11 = *(code **)(puVar10 + 0x246710);\n      piVar4[3] = 0;\n      *(undefined1 *)(piVar4 + 4) = 0;\n      *(undefined1 *)(piVar4 + 8) = 0;\n      *piVar4 = iVar2 + 8;\n      piVar4[9] = 0;\n      piVar4[10] = iVar7;\n      (*pcVar11)(uVar6,piVar4);\n      return;\n    }\n  }\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 unaff_s0;" type_identifier identifier ;) (declaration "Incremental_library *pIVar8;" type_identifier (pointer_declarator "*pIVar8" * identifier) ;) (declaration "Check_library *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "Incremental_inputs *pIVar9;" type_identifier (pointer_declarator "*pIVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char acStack_40 [12];" primitive_type (array_declarator "acStack_40 [12]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_34;" type_identifier identifier ;) (declaration "Check_library *pCStack_30;" type_identifier (pointer_declarator "*pCStack_30" * identifier) ;) (declaration "code *pcStack_2c;" type_identifier (pointer_declarator "*pcStack_2c" * identifier) ;) (expression_statement "pIVar9 = this->layout_->incremental_inputs_;" (assignment_expression "pIVar9 = this->layout_->incremental_inputs_" identifier = (field_expression "this->layout_->incremental_inputs_" (field_expression "this->layout_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "uVar6 = 0x2ef;" (assignment_expression "uVar6 = 0x2ef" identifier = number_literal) ;) (if_statement "if (pIVar9 != (Incremental_inputs *)0x0) {\n    pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl._M_start[this->input_file_index_];\n    if (pIVar8 != (Incremental_library *)0x0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);\n      bVar1 = pIVar8->is_reported_;\n      pIVar8->is_reported_ = true;\n      if (bVar1 == false) {\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);\n      return;\n    }\n    uVar6 = 0x2f1;\n    unaff_s0 = 0;\n    unaff_s1 = this;\n  }" if (parenthesized_expression "(pIVar9 != (Incremental_inputs *)0x0)" ( (binary_expression "pIVar9 != (Incremental_inputs *)0x0" identifier != (cast_expression "(Incremental_inputs *)0x0" ( (type_descriptor "Incremental_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl._M_start[this->input_file_index_];\n    if (pIVar8 != (Incremental_library *)0x0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);\n      bVar1 = pIVar8->is_reported_;\n      pIVar8->is_reported_ = true;\n      if (bVar1 == false) {\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);\n      return;\n    }\n    uVar6 = 0x2f1;\n    unaff_s0 = 0;\n    unaff_s1 = this;\n  }" { (expression_statement "pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl._M_start[this->input_file_index_];" (subscript_expression "pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl._M_start[this->input_file_index_]" (field_expression "pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl._M_start" (field_expression "pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_>\n             ._M_impl" (binary_expression "pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold::Incremental_library*>_" (binary_expression "pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std::allocator<gold" (binary_expression "pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold::Incremental_library*,_std" (assignment_expression "pIVar8 = (this->ibase_->library_map_).\n             super__Vector_base<gold" identifier = (binary_expression "(this->ibase_->library_map_).\n             super__Vector_base<gold" (field_expression "(this->ibase_->library_map_).\n             super__Vector_base" (parenthesized_expression "(this->ibase_->library_map_)" ( (field_expression "this->ibase_->library_map_" (field_expression "this->ibase_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Incremental_library" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_library" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (field_expression "this->input_file_index_" identifier -> field_identifier) ]) ;) (if_statement "if (pIVar8 != (Incremental_library *)0x0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);\n      bVar1 = pIVar8->is_reported_;\n      pIVar8->is_reported_ = true;\n      if (bVar1 == false) {\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);\n      return;\n    }" if (parenthesized_expression "(pIVar8 != (Incremental_library *)0x0)" ( (binary_expression "pIVar8 != (Incremental_library *)0x0" identifier != (cast_expression "(Incremental_library *)0x0" ( (type_descriptor "Incremental_library *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);\n      bVar1 = pIVar8->is_reported_;\n      pIVar8->is_reported_ = true;\n      if (bVar1 == false) {\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }\n                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);\n      return;\n    }" { (expression_statement "(*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8);" (call_expression "(*(code *)PTR_copy_unused_symbols_00434dd4)(pIVar8)" (parenthesized_expression "(*(code *)PTR_copy_unused_symbols_00434dd4)" ( (pointer_expression "*(code *)PTR_copy_unused_symbols_00434dd4" * (cast_expression "(code *)PTR_copy_unused_symbols_00434dd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar8)" ( identifier ))) ;) (expression_statement "bVar1 = pIVar8->is_reported_;" (assignment_expression "bVar1 = pIVar8->is_reported_" identifier = (field_expression "pIVar8->is_reported_" identifier -> field_identifier)) ;) (expression_statement "pIVar8->is_reported_ = true;" (assignment_expression "pIVar8->is_reported_ = true" (field_expression "pIVar8->is_reported_" identifier -> field_identifier) = true) ;) (if_statement "if (bVar1 == false) {\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }" if (parenthesized_expression "(bVar1 == false)" ( (binary_expression "bVar1 == false" identifier == false) )) (compound_statement "{\n        iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);\n      }" { (expression_statement "iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_);" (assignment_expression "iVar2 = (*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_)" identifier = (call_expression "(*pIVar8->input_reader_->_vptr_Input_reader[5])(pIVar8->input_reader_)" (parenthesized_expression "(*pIVar8->input_reader_->_vptr_Input_reader[5])" ( (pointer_expression "*pIVar8->input_reader_->_vptr_Input_reader[5]" * (subscript_expression "pIVar8->input_reader_->_vptr_Input_reader[5]" (field_expression "pIVar8->input_reader_->_vptr_Input_reader" (field_expression "pIVar8->input_reader_" identifier -> field_identifier) -> field_identifier) [ number_literal ])) )) (argument_list "(pIVar8->input_reader_)" ( (field_expression "pIVar8->input_reader_" identifier -> field_identifier) )))) ;) (expression_statement "(*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]);" (call_expression "(*(code *)PTR_report_archive_begin_00434dd8)\n                  (pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_])" (parenthesized_expression "(*(code *)PTR_report_archive_begin_00434dd8)" ( (pointer_expression "*(code *)PTR_report_archive_begin_00434dd8" * (cast_expression "(code *)PTR_report_archive_begin_00434dd8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar9,pIVar8,iVar2,\n                   (this->ibase_->script_map_).\n                   super__Vector_base<gold::Script_info*,_std::allocator<gold::Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_])" ( identifier , identifier , identifier , (binary_expression "(this->ibase_->script_map_).\n                   super__Vector_base<gold" (field_expression "(this->ibase_->script_map_).\n                   super__Vector_base" (parenthesized_expression "(this->ibase_->script_map_)" ( (field_expression "this->ibase_->script_map_" (field_expression "this->ibase_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Script_info*" : : identifier *) , (ERROR "_std::allocator<gold::" identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (subscript_expression "Script_info*>_>.\n                   _M_impl._M_start[pIVar8->input_file_index_]" (field_expression "Script_info*>_>.\n                   _M_impl._M_start" (field_expression "Script_info*>_>.\n                   _M_impl" (binary_expression "Script_info*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (field_expression "pIVar8->input_file_index_" identifier -> field_identifier) ]) ))) ;) })) comment comment (expression_statement "(*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8);" (call_expression "(*(code *)PTR_report_archive_end_00434ddc)(pIVar9,pIVar8)" (parenthesized_expression "(*(code *)PTR_report_archive_end_00434ddc)" ( (pointer_expression "*(code *)PTR_report_archive_end_00434ddc" * (cast_expression "(code *)PTR_report_archive_end_00434ddc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar9,pIVar8)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar6 = 0x2f1;" (assignment_expression "uVar6 = 0x2f1" identifier = number_literal) ;) (expression_statement "unaff_s0 = 0;" (assignment_expression "unaff_s0 = 0" identifier = number_literal) ;) (expression_statement "unaff_s1 = this;" (assignment_expression "unaff_s1 = this" identifier = identifier) ;) })) (expression_statement "pcVar11 = Read_script::run;" (assignment_expression "pcVar11 = Read_script" identifier = identifier) (ERROR "::run" : : identifier) ;) (expression_statement "puVar5 = PTR_s__0043226c + -0x6f68;" (assignment_expression "puVar5 = PTR_s__0043226c + -0x6f68" identifier = (binary_expression "PTR_s__0043226c + -0x6f68" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_do_gold_unreachable_004323c4;" (assignment_expression "puVar10 = PTR_do_gold_unreachable_004323c4" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar5,uVar6,PTR_s__0043226c + -0x6e00);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar5,uVar6,PTR_s__0043226c + -0x6e00)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar5,uVar6,PTR_s__0043226c + -0x6e00)" ( identifier , identifier , (binary_expression "PTR_s__0043226c + -0x6e00" identifier + number_literal) ))) ;) (expression_statement "uStack_34 = unaff_s0;" (assignment_expression "uStack_34 = unaff_s0" identifier = identifier) ;) (expression_statement "pCStack_30 = unaff_s1;" (assignment_expression "pCStack_30 = unaff_s1" identifier = identifier) ;) (expression_statement "pcStack_2c = pcVar11;" (assignment_expression "pcStack_2c = pcVar11" identifier = identifier) ;) (expression_statement "iVar2 = (**(code **)(puVar10 + 0x247e74))\n                    (uVar6,*(undefined4 *)(puVar5 + 0x24),*(undefined4 *)(puVar5 + 0x28),\n                     *(undefined4 *)(puVar5 + 0x2c),*(undefined4 *)(puVar5 + 0x30),\n                     *(undefined4 *)(puVar5 + 0x34),*(undefined4 *)(puVar5 + 0x38),\n                     *(undefined4 *)(puVar5 + 0x3c),*(undefined4 *)(puVar5 + 0x40),\n                     *(undefined4 *)(puVar5 + 0x44),*(undefined4 *)(puVar5 + 0x4c),acStack_40);" (assignment_expression "iVar2 = (**(code **)(puVar10 + 0x247e74))\n                    (uVar6,*(undefined4 *)(puVar5 + 0x24),*(undefined4 *)(puVar5 + 0x28),\n                     *(undefined4 *)(puVar5 + 0x2c),*(undefined4 *)(puVar5 + 0x30),\n                     *(undefined4 *)(puVar5 + 0x34),*(undefined4 *)(puVar5 + 0x38),\n                     *(undefined4 *)(puVar5 + 0x3c),*(undefined4 *)(puVar5 + 0x40),\n                     *(undefined4 *)(puVar5 + 0x44),*(undefined4 *)(puVar5 + 0x4c),acStack_40)" identifier = (call_expression "(**(code **)(puVar10 + 0x247e74))\n                    (uVar6,*(undefined4 *)(puVar5 + 0x24),*(undefined4 *)(puVar5 + 0x28),\n                     *(undefined4 *)(puVar5 + 0x2c),*(undefined4 *)(puVar5 + 0x30),\n                     *(undefined4 *)(puVar5 + 0x34),*(undefined4 *)(puVar5 + 0x38),\n                     *(undefined4 *)(puVar5 + 0x3c),*(undefined4 *)(puVar5 + 0x40),\n                     *(undefined4 *)(puVar5 + 0x44),*(undefined4 *)(puVar5 + 0x4c),acStack_40)" (parenthesized_expression "(**(code **)(puVar10 + 0x247e74))" ( (pointer_expression "**(code **)(puVar10 + 0x247e74)" * (pointer_expression "*(code **)(puVar10 + 0x247e74)" * (cast_expression "(code **)(puVar10 + 0x247e74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x247e74)" ( (binary_expression "puVar10 + 0x247e74" identifier + number_literal) ))))) )) (argument_list "(uVar6,*(undefined4 *)(puVar5 + 0x24),*(undefined4 *)(puVar5 + 0x28),\n                     *(undefined4 *)(puVar5 + 0x2c),*(undefined4 *)(puVar5 + 0x30),\n                     *(undefined4 *)(puVar5 + 0x34),*(undefined4 *)(puVar5 + 0x38),\n                     *(undefined4 *)(puVar5 + 0x3c),*(undefined4 *)(puVar5 + 0x40),\n                     *(undefined4 *)(puVar5 + 0x44),*(undefined4 *)(puVar5 + 0x4c),acStack_40)" ( identifier , (pointer_expression "*(undefined4 *)(puVar5 + 0x24)" * (cast_expression "(undefined4 *)(puVar5 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x24)" ( (binary_expression "puVar5 + 0x24" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x28)" * (cast_expression "(undefined4 *)(puVar5 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x28)" ( (binary_expression "puVar5 + 0x28" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x2c)" * (cast_expression "(undefined4 *)(puVar5 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x2c)" ( (binary_expression "puVar5 + 0x2c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x30)" * (cast_expression "(undefined4 *)(puVar5 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x30)" ( (binary_expression "puVar5 + 0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x34)" * (cast_expression "(undefined4 *)(puVar5 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x34)" ( (binary_expression "puVar5 + 0x34" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x38)" * (cast_expression "(undefined4 *)(puVar5 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x38)" ( (binary_expression "puVar5 + 0x38" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x3c)" * (cast_expression "(undefined4 *)(puVar5 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x3c)" ( (binary_expression "puVar5 + 0x3c" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x40)" * (cast_expression "(undefined4 *)(puVar5 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x40)" ( (binary_expression "puVar5 + 0x40" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x44)" * (cast_expression "(undefined4 *)(puVar5 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x44)" ( (binary_expression "puVar5 + 0x44" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar5 + 0x4c)" * (cast_expression "(undefined4 *)(puVar5 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x4c)" ( (binary_expression "puVar5 + 0x4c" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    uVar3 = (**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50);\n    (**(code **)(puVar10 + 0x245e18))(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20));\n    if (acStack_40[0] == '\0') {\n      pcVar11 = *(code **)(puVar10 + 0x2453d0);\n      goto LAB_001ed04c;\n    }\n  }\n  else {\n    pcVar11 = *(code **)(puVar10 + 0x2453d0);\n    if (acStack_40[0] == '\0') {\nLAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);\n      iVar7 = *(int *)(puVar5 + 0x4c);\n      piVar4[2] = (int)(piVar4 + 4);\n      piVar4[1] = 0;\n      iVar2 = *(int *)(puVar10 + 0x247e78);\n      pcVar11 = *(code **)(puVar10 + 0x246710);\n      piVar4[3] = 0;\n      *(undefined1 *)(piVar4 + 4) = 0;\n      *(undefined1 *)(piVar4 + 8) = 0;\n      *piVar4 = iVar2 + 8;\n      piVar4[9] = 0;\n      piVar4[10] = iVar7;\n      (*pcVar11)(uVar6,piVar4);\n      return;\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar3 = (**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50);\n    (**(code **)(puVar10 + 0x245e18))(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20));\n    if (acStack_40[0] == '\0') {\n      pcVar11 = *(code **)(puVar10 + 0x2453d0);\n      goto LAB_001ed04c;\n    }\n  }" { (expression_statement "uVar3 = (**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50);" (assignment_expression "uVar3 = (**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50)" identifier = (call_expression "(**(code **)(puVar10 + 0x2498ac))(*(int *)(puVar10 + 0x245300) + -0x6f50)" (parenthesized_expression "(**(code **)(puVar10 + 0x2498ac))" ( (pointer_expression "**(code **)(puVar10 + 0x2498ac)" * (pointer_expression "*(code **)(puVar10 + 0x2498ac)" * (cast_expression "(code **)(puVar10 + 0x2498ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2498ac)" ( (binary_expression "puVar10 + 0x2498ac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar10 + 0x245300) + -0x6f50)" ( (binary_expression "*(int *)(puVar10 + 0x245300) + -0x6f50" (pointer_expression "*(int *)(puVar10 + 0x245300)" * (cast_expression "(int *)(puVar10 + 0x245300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x245300)" ( (binary_expression "puVar10 + 0x245300" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar10 + 0x245e18))(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20));" (call_expression "(**(code **)(puVar10 + 0x245e18))(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20))" (parenthesized_expression "(**(code **)(puVar10 + 0x245e18))" ( (pointer_expression "**(code **)(puVar10 + 0x245e18)" * (pointer_expression "*(code **)(puVar10 + 0x245e18)" * (cast_expression "(code **)(puVar10 + 0x245e18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x245e18)" ( (binary_expression "puVar10 + 0x245e18" identifier + number_literal) ))))) )) (argument_list "(uVar3,*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20))" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(puVar5 + 0x44) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar5 + 0x44) + 0x20)" ( (binary_expression "*(int *)(puVar5 + 0x44) + 0x20" (pointer_expression "*(int *)(puVar5 + 0x44)" * (cast_expression "(int *)(puVar5 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x44)" ( (binary_expression "puVar5 + 0x44" identifier + number_literal) )))) + number_literal) )))) ))) ;) (if_statement "if (acStack_40[0] == '\0') {\n      pcVar11 = *(code **)(puVar10 + 0x2453d0);\n      goto LAB_001ed04c;\n    }" if (parenthesized_expression "(acStack_40[0] == '\0')" ( (binary_expression "acStack_40[0] == '\0'" (subscript_expression "acStack_40[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar11 = *(code **)(puVar10 + 0x2453d0);\n      goto LAB_001ed04c;\n    }" { (expression_statement "pcVar11 = *(code **)(puVar10 + 0x2453d0);" (assignment_expression "pcVar11 = *(code **)(puVar10 + 0x2453d0)" identifier = (pointer_expression "*(code **)(puVar10 + 0x2453d0)" * (cast_expression "(code **)(puVar10 + 0x2453d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2453d0)" ( (binary_expression "puVar10 + 0x2453d0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001ed04c;" goto statement_identifier ;) })) }) (else_clause "else {\n    pcVar11 = *(code **)(puVar10 + 0x2453d0);\n    if (acStack_40[0] == '\0') {\nLAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);\n      iVar7 = *(int *)(puVar5 + 0x4c);\n      piVar4[2] = (int)(piVar4 + 4);\n      piVar4[1] = 0;\n      iVar2 = *(int *)(puVar10 + 0x247e78);\n      pcVar11 = *(code **)(puVar10 + 0x246710);\n      piVar4[3] = 0;\n      *(undefined1 *)(piVar4 + 4) = 0;\n      *(undefined1 *)(piVar4 + 8) = 0;\n      *piVar4 = iVar2 + 8;\n      piVar4[9] = 0;\n      piVar4[10] = iVar7;\n      (*pcVar11)(uVar6,piVar4);\n      return;\n    }\n  }" else (compound_statement "{\n    pcVar11 = *(code **)(puVar10 + 0x2453d0);\n    if (acStack_40[0] == '\0') {\nLAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);\n      iVar7 = *(int *)(puVar5 + 0x4c);\n      piVar4[2] = (int)(piVar4 + 4);\n      piVar4[1] = 0;\n      iVar2 = *(int *)(puVar10 + 0x247e78);\n      pcVar11 = *(code **)(puVar10 + 0x246710);\n      piVar4[3] = 0;\n      *(undefined1 *)(piVar4 + 4) = 0;\n      *(undefined1 *)(piVar4 + 8) = 0;\n      *piVar4 = iVar2 + 8;\n      piVar4[9] = 0;\n      piVar4[10] = iVar7;\n      (*pcVar11)(uVar6,piVar4);\n      return;\n    }\n  }" { (expression_statement "pcVar11 = *(code **)(puVar10 + 0x2453d0);" (assignment_expression "pcVar11 = *(code **)(puVar10 + 0x2453d0)" identifier = (pointer_expression "*(code **)(puVar10 + 0x2453d0)" * (cast_expression "(code **)(puVar10 + 0x2453d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2453d0)" ( (binary_expression "puVar10 + 0x2453d0" identifier + number_literal) ))))) ;) (if_statement "if (acStack_40[0] == '\0') {\nLAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);\n      iVar7 = *(int *)(puVar5 + 0x4c);\n      piVar4[2] = (int)(piVar4 + 4);\n      piVar4[1] = 0;\n      iVar2 = *(int *)(puVar10 + 0x247e78);\n      pcVar11 = *(code **)(puVar10 + 0x246710);\n      piVar4[3] = 0;\n      *(undefined1 *)(piVar4 + 4) = 0;\n      *(undefined1 *)(piVar4 + 8) = 0;\n      *piVar4 = iVar2 + 8;\n      piVar4[9] = 0;\n      piVar4[10] = iVar7;\n      (*pcVar11)(uVar6,piVar4);\n      return;\n    }" if (parenthesized_expression "(acStack_40[0] == '\0')" ( (binary_expression "acStack_40[0] == '\0'" (subscript_expression "acStack_40[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);\n      iVar7 = *(int *)(puVar5 + 0x4c);\n      piVar4[2] = (int)(piVar4 + 4);\n      piVar4[1] = 0;\n      iVar2 = *(int *)(puVar10 + 0x247e78);\n      pcVar11 = *(code **)(puVar10 + 0x246710);\n      piVar4[3] = 0;\n      *(undefined1 *)(piVar4 + 4) = 0;\n      *(undefined1 *)(piVar4 + 8) = 0;\n      *piVar4 = iVar2 + 8;\n      piVar4[9] = 0;\n      piVar4[10] = iVar7;\n      (*pcVar11)(uVar6,piVar4);\n      return;\n    }" { (labeled_statement "LAB_001ed04c:\n      piVar4 = (int *)(*pcVar11)(0x2c);" statement_identifier : (expression_statement "piVar4 = (int *)(*pcVar11)(0x2c);" (assignment_expression "piVar4 = (int *)(*pcVar11)(0x2c)" identifier = (cast_expression "(int *)(*pcVar11)(0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar11)(0x2c)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(0x2c)" ( number_literal ))))) ;)) (expression_statement "iVar7 = *(int *)(puVar5 + 0x4c);" (assignment_expression "iVar7 = *(int *)(puVar5 + 0x4c)" identifier = (pointer_expression "*(int *)(puVar5 + 0x4c)" * (cast_expression "(int *)(puVar5 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x4c)" ( (binary_expression "puVar5 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "piVar4[2] = (int)(piVar4 + 4);" (assignment_expression "piVar4[2] = (int)(piVar4 + 4)" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 4)" ( (binary_expression "piVar4 + 4" identifier + number_literal) )))) ;) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar2 = *(int *)(puVar10 + 0x247e78);" (assignment_expression "iVar2 = *(int *)(puVar10 + 0x247e78)" identifier = (pointer_expression "*(int *)(puVar10 + 0x247e78)" * (cast_expression "(int *)(puVar10 + 0x247e78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x247e78)" ( (binary_expression "puVar10 + 0x247e78" identifier + number_literal) ))))) ;) (expression_statement "pcVar11 = *(code **)(puVar10 + 0x246710);" (assignment_expression "pcVar11 = *(code **)(puVar10 + 0x246710)" identifier = (pointer_expression "*(code **)(puVar10 + 0x246710)" * (cast_expression "(code **)(puVar10 + 0x246710)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x246710)" ( (binary_expression "puVar10 + 0x246710" identifier + number_literal) ))))) ;) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar4 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 4)" * (cast_expression "(undefined1 *)(piVar4 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 4)" ( (binary_expression "piVar4 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar4 + 8) = 0;" (assignment_expression "*(undefined1 *)(piVar4 + 8) = 0" (pointer_expression "*(undefined1 *)(piVar4 + 8)" * (cast_expression "(undefined1 *)(piVar4 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 8)" ( (binary_expression "piVar4 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*piVar4 = iVar2 + 8;" (assignment_expression "*piVar4 = iVar2 + 8" (pointer_expression "*piVar4" * identifier) = (binary_expression "iVar2 + 8" identifier + number_literal)) ;) (expression_statement "piVar4[9] = 0;" (assignment_expression "piVar4[9] = 0" (subscript_expression "piVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[10] = iVar7;" (assignment_expression "piVar4[10] = iVar7" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar11)(uVar6,piVar4);" (call_expression "(*pcVar11)(uVar6,piVar4)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(uVar6,piVar4)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_001ece6c(int param_1)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);\n  uVar2 = 0x2ef;\n  if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);\n  return;\n}\n\n" (function_definition "void FUN_001ece6c(int param_1)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);\n  uVar2 = 0x2ef;\n  if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);\n  return;\n}" primitive_type (function_declarator "FUN_001ece6c(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);\n  uVar2 = 0x2ef;\n  if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (expression_statement "iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);" (assignment_expression "iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" * (cast_expression "(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x24) + 0x1dc)" ( (binary_expression "*(int *)(param_1 + 0x24) + 0x1dc" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar2 = 0x2ef;" (assignment_expression "uVar2 = 0x2ef" identifier = number_literal) ;) (if_statement "if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }" { (expression_statement "iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);" (assignment_expression "iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" * (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x10)" * (cast_expression "(int *)(*(int *)(param_1 + 0x28) + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x28) + 0x10)" ( (binary_expression "*(int *)(param_1 + 0x28) + 0x10" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "*(int *)(param_1 + 0x2c) * 4" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) * number_literal)) ))))) ;) (if_statement "if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }" { (expression_statement "(*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);" (call_expression "(*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3)" (parenthesized_expression "(*(code *)PTR_copy_unused_symbols_00434dd4)" ( (pointer_expression "*(code *)PTR_copy_unused_symbols_00434dd4" * (cast_expression "(code *)PTR_copy_unused_symbols_00434dd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "cVar1 = *(char *)(iVar3 + 0x38);" (assignment_expression "cVar1 = *(char *)(iVar3 + 0x38)" identifier = (pointer_expression "*(char *)(iVar3 + 0x38)" * (cast_expression "(char *)(iVar3 + 0x38)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar3 + 0x38) = 1;" (assignment_expression "*(undefined1 *)(iVar3 + 0x38) = 1" (pointer_expression "*(undefined1 *)(iVar3 + 0x38)" * (cast_expression "(undefined1 *)(iVar3 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x38)" ( (binary_expression "iVar3 + 0x38" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }" { (expression_statement "uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));" (assignment_expression "uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28))" identifier = (call_expression "(**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28))" (parenthesized_expression "(**(code **)(**(int **)(iVar3 + 0x28) + 0x14))" ( (pointer_expression "**(code **)(**(int **)(iVar3 + 0x28) + 0x14)" * (pointer_expression "*(code **)(**(int **)(iVar3 + 0x28) + 0x14)" * (cast_expression "(code **)(**(int **)(iVar3 + 0x28) + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(iVar3 + 0x28) + 0x14)" ( (binary_expression "**(int **)(iVar3 + 0x28) + 0x14" (pointer_expression "**(int **)(iVar3 + 0x28)" * (pointer_expression "*(int **)(iVar3 + 0x28)" * (cast_expression "(int **)(iVar3 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) ))))) + number_literal) ))))) )) (argument_list "(*(int **)(iVar3 + 0x28))" ( (pointer_expression "*(int **)(iVar3 + 0x28)" * (cast_expression "(int **)(iVar3 + 0x28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) )))) ;) (expression_statement "(*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));" (call_expression "(*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4))" (parenthesized_expression "(*(code *)PTR_report_archive_begin_00434dd8)" ( (pointer_expression "*(code *)PTR_report_archive_begin_00434dd8" * (cast_expression "(code *)PTR_report_archive_begin_00434dd8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4))" ( identifier , identifier , identifier , (pointer_expression "*(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" * (cast_expression "(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x1c)" * (cast_expression "(int *)(*(int *)(param_1 + 0x28) + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x28) + 0x1c)" ( (binary_expression "*(int *)(param_1 + 0x28) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) + number_literal) )))) + (binary_expression "*(int *)(iVar3 + 0x24) * 4" (pointer_expression "*(int *)(iVar3 + 0x24)" * (cast_expression "(int *)(iVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x24)" ( (binary_expression "iVar3 + 0x24" identifier + number_literal) )))) * number_literal)) )))) ))) ;) })) (expression_statement "(*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);" (call_expression "(*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3)" (parenthesized_expression "(*(code *)PTR_report_archive_end_00434ddc)" ( (pointer_expression "*(code *)PTR_report_archive_end_00434ddc" * (cast_expression "(code *)PTR_report_archive_end_00434ddc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,iVar3)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar2 = 0x2f1;" (assignment_expression "uVar2 = 0x2f1" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00)" ( (binary_expression "PTR_DAT_0043226c + -0x6f68" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0043226c + -0x6e00" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + (binary_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 != 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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })))
(function_definition "void FUN_001ece6c(int param_1)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);\n  uVar2 = 0x2ef;\n  if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001ece6c(int param_1)" (identifier "FUN_001ece6c") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  \n  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);\n  uVar2 = 0x2ef;\n  if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }\n  (*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (expression_statement "iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);" (assignment_expression "iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x24) + 0x1dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x24) + 0x1dc)" (( "(") (binary_expression "*(int *)(param_1 + 0x24) + 0x1dc" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (number_literal "0x1dc")) () ")"))))) (; ";")) (expression_statement "uVar2 = 0x2ef;" (assignment_expression "uVar2 = 0x2ef" (identifier "uVar2") (= "=") (number_literal "0x2ef")) (; ";")) (if_statement "if (iVar4 != 0) {\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);\n    if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }\n    uVar2 = 0x2f1;\n  }" ({ "{") (expression_statement "iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);" (assignment_expression "iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x10)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x28) + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x28) + 0x10)" (( "(") (binary_expression "*(int *)(param_1 + 0x28) + 0x10" (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (binary_expression "*(int *)(param_1 + 0x2c) * 4" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar3 != 0) {\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);\n      cVar1 = *(char *)(iVar3 + 0x38);\n      *(undefined1 *)(iVar3 + 0x38) = 1;\n      if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }\n                    \n                    \n      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);\n      return;\n    }" ({ "{") (expression_statement "(*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);" (call_expression "(*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3)" (parenthesized_expression "(*(code *)PTR_copy_unused_symbols_00434dd4)" (( "(") (pointer_expression "*(code *)PTR_copy_unused_symbols_00434dd4" (* "*") (cast_expression "(code *)PTR_copy_unused_symbols_00434dd4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_copy_unused_symbols_00434dd4"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "cVar1 = *(char *)(iVar3 + 0x38);" (assignment_expression "cVar1 = *(char *)(iVar3 + 0x38)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(iVar3 + 0x38)" (* "*") (cast_expression "(char *)(iVar3 + 0x38)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(iVar3 + 0x38) = 1;" (assignment_expression "*(undefined1 *)(iVar3 + 0x38) = 1" (pointer_expression "*(undefined1 *)(iVar3 + 0x38)" (* "*") (cast_expression "(undefined1 *)(iVar3 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x38)" (( "(") (binary_expression "iVar3 + 0x38" (identifier "iVar3") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (cVar1 == '\0') {\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));\n        (*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));\n      }" ({ "{") (expression_statement "uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));" (assignment_expression "uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28))" (identifier "uVar2") (= "=") (call_expression "(**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28))" (parenthesized_expression "(**(code **)(**(int **)(iVar3 + 0x28) + 0x14))" (( "(") (pointer_expression "**(code **)(**(int **)(iVar3 + 0x28) + 0x14)" (* "*") (pointer_expression "*(code **)(**(int **)(iVar3 + 0x28) + 0x14)" (* "*") (cast_expression "(code **)(**(int **)(iVar3 + 0x28) + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(iVar3 + 0x28) + 0x14)" (( "(") (binary_expression "**(int **)(iVar3 + 0x28) + 0x14" (pointer_expression "**(int **)(iVar3 + 0x28)" (* "*") (pointer_expression "*(int **)(iVar3 + 0x28)" (* "*") (cast_expression "(int **)(iVar3 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x28)" (( "(") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28")) () ")"))))) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "(*(int **)(iVar3 + 0x28))" (( "(") (pointer_expression "*(int **)(iVar3 + 0x28)" (* "*") (cast_expression "(int **)(iVar3 + 0x28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar3 + 0x28)" (( "(") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28")) () ")")))) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));" (call_expression "(*(code *)PTR_report_archive_begin_00434dd8)\n                  (iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4))" (parenthesized_expression "(*(code *)PTR_report_archive_begin_00434dd8)" (( "(") (pointer_expression "*(code *)PTR_report_archive_begin_00434dd8" (* "*") (cast_expression "(code *)PTR_report_archive_begin_00434dd8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_report_archive_begin_00434dd8"))) () ")")) (argument_list "(iVar4,iVar3,uVar2,\n                   *(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4))" (( "(") (identifier "iVar4") (, ",") (identifier "iVar3") (, ",") (identifier "uVar2") (, ",") (pointer_expression "*(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" (* "*") (cast_expression "(undefined4 *)\n                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4" (pointer_expression "*(int *)(*(int *)(param_1 + 0x28) + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x28) + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x28) + 0x1c)" (( "(") (binary_expression "*(int *)(param_1 + 0x28) + 0x1c" (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (binary_expression "*(int *)(iVar3 + 0x24) * 4" (pointer_expression "*(int *)(iVar3 + 0x24)" (* "*") (cast_expression "(int *)(iVar3 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x24)" (( "(") (binary_expression "iVar3 + 0x24" (identifier "iVar3") (+ "+") (number_literal "0x24")) () ")")))) (* "*") (number_literal "4"))) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);" (call_expression "(*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3)" (parenthesized_expression "(*(code *)PTR_report_archive_end_00434ddc)" (( "(") (pointer_expression "*(code *)PTR_report_archive_end_00434ddc" (* "*") (cast_expression "(code *)PTR_report_archive_end_00434ddc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_report_archive_end_00434ddc"))) () ")")) (argument_list "(iVar4,iVar3)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar2 = 0x2f1;" (assignment_expression "uVar2 = 0x2f1" (identifier "uVar2") (= "=") (number_literal "0x2f1")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00)" (( "(") (binary_expression "PTR_DAT_0043226c + -0x6f68" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x6f68")) (, ",") (identifier "uVar2") (, ",") (binary_expression "PTR_DAT_0043226c + -0x6e00" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "-0x6e00")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: void run(Check_library * this, Workqueue * param_1) */

void __thiscall var_2::type_1::function_1(type_1 *this,type_2 *param_1)

{
  bool var_6;
  int var_11;
  type_3 uVar3;
  int *var_12;
  type_4 *var_10;
  type_3 uVar6;
  int iVar7;
  type_3 unaff_s0;
  type_5 *var_5;
  type_1 *unaff_s1;
  type_6 *var_1;
  type_4 *var_9;
  type_7 *pcVar11;
  char acStack_40 [12];
  type_3 uStack_34;
  type_1 *pCStack_30;
  type_7 *pcStack_2c;
  
  var_1 = this->layout_->incremental_inputs_;
  uVar6 = 0x2ef;
  if (var_1 != (type_6 *)0x0) {
    var_5 = (this->ibase_->library_map_).
             super__Vector_base<var_2::type_5*,var_3::allocator<var_2::type_5*>var_4>
             ._M_impl._M_start[this->input_file_index_];
    if (var_5 != (type_5 *)0x0) {
      (*(type_7 *)PTR_copy_unused_symbols_00434dd4)(var_5);
      var_6 = var_5->is_reported_;
      var_5->is_reported_ = true;
      if (var_6 == false) {
        var_11 = (*var_5->input_reader_->_vptr_Input_reader[5])(var_5->input_reader_);
        (*(type_7 *)PTR_report_archive_begin_00434dd8)
                  (var_1,var_5,var_11,
                   (this->ibase_->script_map_).
                   super__Vector_base<var_2::var_7*,var_3::allocator<var_2::var_7*>var_4>.
                   _M_impl._M_start[var_5->input_file_index_]);
      }
                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(type_7 *)PTR_report_archive_end_00434ddc)(var_1,var_5);
      return;
    }
    uVar6 = 0x2f1;
    unaff_s0 = 0;
    unaff_s1 = this;
  }
  pcVar11 = Read_script::function_1;
  var_10 = var_8 + -0x6f68;
  var_9 = PTR_do_gold_unreachable_004323c4;
  (*(type_7 *)PTR_do_gold_unreachable_004323c4)(var_10,uVar6,var_8 + -0x6e00);
  uStack_34 = unaff_s0;
  pCStack_30 = unaff_s1;
  pcStack_2c = pcVar11;
  var_11 = (**(type_7 **)(var_9 + 0x247e74))
                    (uVar6,*(type_3 *)(var_10 + 0x24),*(type_3 *)(var_10 + 0x28),
                     *(type_3 *)(var_10 + 0x2c),*(type_3 *)(var_10 + 0x30),
                     *(type_3 *)(var_10 + 0x34),*(type_3 *)(var_10 + 0x38),
                     *(type_3 *)(var_10 + 0x3c),*(type_3 *)(var_10 + 0x40),
                     *(type_3 *)(var_10 + 0x44),*(type_3 *)(var_10 + 0x4c),acStack_40);
  if (var_11 == 0) {
    uVar3 = (**(type_7 **)(var_9 + 0x2498ac))(*(int *)(var_9 + 0x245300) + -0x6f50);
    (**(type_7 **)(var_9 + 0x245e18))(uVar3,*(type_3 *)(*(int *)(var_10 + 0x44) + 0x20));
    if (acStack_40[0] == '\0') {
      pcVar11 = *(type_7 **)(var_9 + 0x2453d0);
      goto LAB_001ed04c;
    }
  }
  else {
    pcVar11 = *(type_7 **)(var_9 + 0x2453d0);
    if (acStack_40[0] == '\0') {
LAB_001ed04c:
      var_12 = (int *)(*pcVar11)(0x2c);
      iVar7 = *(int *)(var_10 + 0x4c);
      var_12[2] = (int)(var_12 + 4);
      var_12[1] = 0;
      var_11 = *(int *)(var_9 + 0x247e78);
      pcVar11 = *(type_7 **)(var_9 + 0x246710);
      var_12[3] = 0;
      *(type_8 *)(var_12 + 4) = 0;
      *(type_8 *)(var_12 + 8) = 0;
      *var_12 = var_11 + 8;
      var_12[9] = 0;
      var_12[10] = iVar7;
      (*pcVar11)(uVar6,var_12);
      return;
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (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) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))))) (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) (identifier)))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (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 (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))))

void MASKED(int param_1)

{
  char cVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  
  iVar4 = *(int *)(*(int *)(param_1 + 0x24) + 0x1dc);
  uVar2 = 0x2ef;
  if (iVar4 != 0) {
    iVar3 = *(int *)(*(int *)(*(int *)(param_1 + 0x28) + 0x10) + *(int *)(param_1 + 0x2c) * 4);
    if (iVar3 != 0) {
      (*(code *)PTR_copy_unused_symbols_00434dd4)(iVar3);
      cVar1 = *(char *)(iVar3 + 0x38);
      *(undefined1 *)(iVar3 + 0x38) = 1;
      if (cVar1 == '\0') {
        uVar2 = (**(code **)(**(int **)(iVar3 + 0x28) + 0x14))(*(int **)(iVar3 + 0x28));
        (*(code *)PTR_report_archive_begin_00434dd8)
                  (iVar4,iVar3,uVar2,
                   *(undefined4 *)
                    (*(int *)(*(int *)(param_1 + 0x28) + 0x1c) + *(int *)(iVar3 + 0x24) * 4));
      }
                    /* WARNING: Could not recover jumptable at 0x001ecf48. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)PTR_report_archive_end_00434ddc)(iVar4,iVar3);
      return;
    }
    uVar2 = 0x2f1;
  }
  (*(code *)PTR_do_gold_unreachable_004323c4)
            (PTR_DAT_0043226c + -0x6f68,uVar2,PTR_DAT_0043226c + -0x6e00);
  return;
}

