
/* 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_" */

char * gold::General_options::object_format_to_string(Object_format fmt)

{
  int iVar1;
  int iVar2;
  pointer ppPVar3;
  char *pcVar4;
  undefined4 uVar5;
  undefined *puVar6;
  General_options *this;
  undefined1 *puVar7;
  undefined4 in_a3;
  Position_dependent_options *posdep;
  undefined *puVar8;
  code *pcVar9;
  
  if (fmt == OBJECT_FORMAT_ELF) {
    return PTR_s__s_004c1a50 + 0x6574;
  }
  if (fmt == OBJECT_FORMAT_BINARY) {
    return PTR_s__s_004c1a50 + 0x6578;
  }
  puVar7 = &DAT_000002bc;
  puVar6 = PTR_s__s_004c1a50 + 0x6434;
  puVar8 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (puVar6,700,PTR_s_in_a_linker_script_004c191c + -0x5160);
  iVar1 = *(int *)(puVar7 + 4);
  puVar6[0x2f5] = *puVar7;
  puVar6[0x54d] = puVar7[1];
  if (iVar1 == 0) {
    iVar1 = *(int *)(puVar8 + 0x2c3e2c);
    uVar5 = *(undefined4 *)(puVar7 + 0xc);
    puVar6[0x4a3d] = puVar7[8];
    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006574 + iVar1;
    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;
    return &DAT_00006574 + iVar1;
  }
  iVar2 = *(int *)(puVar8 + 0x2c3e2c);
  if (iVar1 == 1) {
    uVar5 = *(undefined4 *)(puVar7 + 0xc);
    puVar6[0x4a3d] = puVar7[8];
    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006578 + iVar2;
    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;
    return &DAT_00006578 + iVar2;
  }
  pcVar9 = *(code **)(puVar8 + 0x2c3e0c);
  this = (General_options *)(*(int *)(puVar8 + 0x2c3e2c) + 0x6434);
  (*pcVar9)(this,700,*(int *)(puVar8 + 0x2c3cf8) + -0x5160,in_a3,puVar8 + 0x2cb61c);
  ppPVar3 = (this->options_stack_).
            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>
            ._M_impl._M_finish;
  if (ppPVar3 !=
      (this->options_stack_).
      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>
      ._M_impl._M_start) {
    posdep = ppPVar3[-1];
    (this->options_stack_).
    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>
    ._M_impl._M_finish = ppPVar3 + -1;
    copy_from_posdep_options(this,posdep);
                    /* WARNING: Could not recover jumptable at 0x001fdd20. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10);
    return pcVar4;
  }
  uVar5 = (**(code **)(pcVar9 + 0x2c7f68))(*(int *)(pcVar9 + 0x2c3d88) + 0x65cc);
                    /* WARNING: Could not recover jumptable at 0x001fdd4c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c3d64))(uVar5);
  return pcVar4;
}



undefined * FUN_001fdbc0(int param_1)

{
  undefined *puVar1;
  
  if (param_1 == 0) {
    return PTR_s__s_004c1a50 + 0x6574;
  }
  if (param_1 == 1) {
    return PTR_s__s_004c1a50 + 0x6578;
  }
  puVar1 = (undefined *)
           (*(code *)PTR_do_gold_unreachable_004c1a30)
                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);
  return puVar1;
}


lui gp,0x2d
addiu gp,gp,-0x4980
addu gp,gp,t9
addiu sp,sp,-0x20
sw gp,0x10(sp)
sw ra,0x1c(sp)
beq a0,zero,0x001fdbf8
_lw ra,0x1c(sp)
li v0,0x1
bne a0,v0,0x001fdc08
_lw v0,-0x77f0(gp)
addiu sp,sp,0x20
jr ra
_addiu v0,v0,0x6578
addiu sp,sp,0x20
lw v0,-0x77f0(gp)
jr ra
_addiu v0,v0,0x6574
lw a2,-0x7924(gp)
li a1,0x2bc
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x5160
jalr t9
_addiu a0,a0,0x6434
(translation_unit "undefined * FUN_001fdbc0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  return puVar1;\n}\n\n" (function_definition "undefined * FUN_001fdbc0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  return puVar1;\n}" type_identifier (pointer_declarator "* FUN_001fdbc0(int param_1)" * (function_declarator "FUN_001fdbc0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  \n  if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  return puVar1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    return PTR_s__s_004c1a50 + 0x6574;\n  }" { (return_statement "return PTR_s__s_004c1a50 + 0x6574;" return (binary_expression "PTR_s__s_004c1a50 + 0x6574" identifier + number_literal) ;) })) (if_statement "if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n    return PTR_s__s_004c1a50 + 0x6578;\n  }" { (return_statement "return PTR_s__s_004c1a50 + 0x6578;" return (binary_expression "PTR_s__s_004c1a50 + 0x6578" identifier + number_literal) ;) })) (expression_statement "puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);" (assignment_expression "puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" identifier = (cast_expression "(undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" ( (binary_expression "PTR_s__s_004c1a50 + 0x6434" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5160" identifier + number_literal) ))))) ;) (return_statement "return puVar1;" return identifier ;) })))
(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\nchar * gold::General_options::object_format_to_string(Object_format fmt)\n\n{\n  int iVar1;\n  int iVar2;\n  pointer ppPVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  General_options *this;\n  undefined1 *puVar7;\n  undefined4 in_a3;\n  Position_dependent_options *posdep;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (fmt == OBJECT_FORMAT_ELF) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (fmt == OBJECT_FORMAT_BINARY) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar7 = &DAT_000002bc;\n  puVar6 = PTR_s__s_004c1a50 + 0x6434;\n  puVar8 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar6,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  iVar1 = *(int *)(puVar7 + 4);\n  puVar6[0x2f5] = *puVar7;\n  puVar6[0x54d] = puVar7[1];\n  if (iVar1 == 0) {\n    iVar1 = *(int *)(puVar8 + 0x2c3e2c);\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006574 + iVar1;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006574 + iVar1;\n  }\n  iVar2 = *(int *)(puVar8 + 0x2c3e2c);\n  if (iVar1 == 1) {\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006578 + iVar2;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006578 + iVar2;\n  }\n  pcVar9 = *(code **)(puVar8 + 0x2c3e0c);\n  this = (General_options *)(*(int *)(puVar8 + 0x2c3e2c) + 0x6434);\n  (*pcVar9)(this,700,*(int *)(puVar8 + 0x2c3cf8) + -0x5160,in_a3,puVar8 + 0x2cb61c);\n  ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n            ._M_impl._M_finish;\n  if (ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n      ._M_impl._M_start) {\n    posdep = ppPVar3[-1];\n    (this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl._M_finish = ppPVar3 + -1;\n    copy_from_posdep_options(this,posdep);\n                    /* WARNING: Could not recover jumptable at 0x001fdd20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10);\n    return pcVar4;\n  }\n  uVar5 = (**(code **)(pcVar9 + 0x2c7f68))(*(int *)(pcVar9 + 0x2c3d88) + 0x65cc);\n                    /* WARNING: Could not recover jumptable at 0x001fdd4c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c3d64))(uVar5);\n  return pcVar4;\n}\n\n" comment comment comment comment comment comment (function_definition "char * gold::General_options::object_format_to_string(Object_format fmt)\n\n{\n  int iVar1;\n  int iVar2;\n  pointer ppPVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  General_options *this;\n  undefined1 *puVar7;\n  undefined4 in_a3;\n  Position_dependent_options *posdep;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (fmt == OBJECT_FORMAT_ELF) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (fmt == OBJECT_FORMAT_BINARY) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar7 = &DAT_000002bc;\n  puVar6 = PTR_s__s_004c1a50 + 0x6434;\n  puVar8 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar6,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  iVar1 = *(int *)(puVar7 + 4);\n  puVar6[0x2f5] = *puVar7;\n  puVar6[0x54d] = puVar7[1];\n  if (iVar1 == 0) {\n    iVar1 = *(int *)(puVar8 + 0x2c3e2c);\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006574 + iVar1;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006574 + iVar1;\n  }\n  iVar2 = *(int *)(puVar8 + 0x2c3e2c);\n  if (iVar1 == 1) {\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006578 + iVar2;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006578 + iVar2;\n  }\n  pcVar9 = *(code **)(puVar8 + 0x2c3e0c);\n  this = (General_options *)(*(int *)(puVar8 + 0x2c3e2c) + 0x6434);\n  (*pcVar9)(this,700,*(int *)(puVar8 + 0x2c3cf8) + -0x5160,in_a3,puVar8 + 0x2cb61c);\n  ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n            ._M_impl._M_finish;\n  if (ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n      ._M_impl._M_start) {\n    posdep = ppPVar3[-1];\n    (this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl._M_finish = ppPVar3 + -1;\n    copy_from_posdep_options(this,posdep);\n                    /* WARNING: Could not recover jumptable at 0x001fdd20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10);\n    return pcVar4;\n  }\n  uVar5 = (**(code **)(pcVar9 + 0x2c7f68))(*(int *)(pcVar9 + 0x2c3d88) + 0x65cc);\n                    /* WARNING: Could not recover jumptable at 0x001fdd4c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c3d64))(uVar5);\n  return pcVar4;\n}" primitive_type (pointer_declarator "* gold::General_options::object_format_to_string(Object_format fmt)" * (ERROR "gold::General_options::" identifier : : identifier : :) (function_declarator "object_format_to_string(Object_format fmt)" identifier (parameter_list "(Object_format fmt)" ( (parameter_declaration "Object_format fmt" type_identifier identifier) )))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  pointer ppPVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined *puVar6;\n  General_options *this;\n  undefined1 *puVar7;\n  undefined4 in_a3;\n  Position_dependent_options *posdep;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (fmt == OBJECT_FORMAT_ELF) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (fmt == OBJECT_FORMAT_BINARY) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar7 = &DAT_000002bc;\n  puVar6 = PTR_s__s_004c1a50 + 0x6434;\n  puVar8 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar6,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  iVar1 = *(int *)(puVar7 + 4);\n  puVar6[0x2f5] = *puVar7;\n  puVar6[0x54d] = puVar7[1];\n  if (iVar1 == 0) {\n    iVar1 = *(int *)(puVar8 + 0x2c3e2c);\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006574 + iVar1;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006574 + iVar1;\n  }\n  iVar2 = *(int *)(puVar8 + 0x2c3e2c);\n  if (iVar1 == 1) {\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006578 + iVar2;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006578 + iVar2;\n  }\n  pcVar9 = *(code **)(puVar8 + 0x2c3e0c);\n  this = (General_options *)(*(int *)(puVar8 + 0x2c3e2c) + 0x6434);\n  (*pcVar9)(this,700,*(int *)(puVar8 + 0x2c3cf8) + -0x5160,in_a3,puVar8 + 0x2cb61c);\n  ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n            ._M_impl._M_finish;\n  if (ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n      ._M_impl._M_start) {\n    posdep = ppPVar3[-1];\n    (this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl._M_finish = ppPVar3 + -1;\n    copy_from_posdep_options(this,posdep);\n                    /* WARNING: Could not recover jumptable at 0x001fdd20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10);\n    return pcVar4;\n  }\n  uVar5 = (**(code **)(pcVar9 + 0x2c7f68))(*(int *)(pcVar9 + 0x2c3d88) + 0x65cc);\n                    /* WARNING: Could not recover jumptable at 0x001fdd4c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c3d64))(uVar5);\n  return pcVar4;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "pointer ppPVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "General_options *this;" type_identifier (pointer_declarator "*this" * identifier) ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "Position_dependent_options *posdep;" type_identifier (pointer_declarator "*posdep" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (if_statement "if (fmt == OBJECT_FORMAT_ELF) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }" if (parenthesized_expression "(fmt == OBJECT_FORMAT_ELF)" ( (binary_expression "fmt == OBJECT_FORMAT_ELF" identifier == identifier) )) (compound_statement "{\n    return PTR_s__s_004c1a50 + 0x6574;\n  }" { (return_statement "return PTR_s__s_004c1a50 + 0x6574;" return (binary_expression "PTR_s__s_004c1a50 + 0x6574" identifier + number_literal) ;) })) (if_statement "if (fmt == OBJECT_FORMAT_BINARY) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }" if (parenthesized_expression "(fmt == OBJECT_FORMAT_BINARY)" ( (binary_expression "fmt == OBJECT_FORMAT_BINARY" identifier == identifier) )) (compound_statement "{\n    return PTR_s__s_004c1a50 + 0x6578;\n  }" { (return_statement "return PTR_s__s_004c1a50 + 0x6578;" return (binary_expression "PTR_s__s_004c1a50 + 0x6578" identifier + number_literal) ;) })) (expression_statement "puVar7 = &DAT_000002bc;" (assignment_expression "puVar7 = &DAT_000002bc" identifier = (pointer_expression "&DAT_000002bc" & identifier)) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + 0x6434;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + 0x6434" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x6434" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar8 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar6,700,PTR_s_in_a_linker_script_004c191c + -0x5160);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar6,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar6,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" ( identifier , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5160" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *(int *)(puVar7 + 4);" (assignment_expression "iVar1 = *(int *)(puVar7 + 4)" identifier = (pointer_expression "*(int *)(puVar7 + 4)" * (cast_expression "(int *)(puVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 4)" ( (binary_expression "puVar7 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x2f5] = *puVar7;" (assignment_expression "puVar6[0x2f5] = *puVar7" (subscript_expression "puVar6[0x2f5]" identifier [ number_literal ]) = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "puVar6[0x54d] = puVar7[1];" (assignment_expression "puVar6[0x54d] = puVar7[1]" (subscript_expression "puVar6[0x54d]" identifier [ number_literal ]) = (subscript_expression "puVar7[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = *(int *)(puVar8 + 0x2c3e2c);\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006574 + iVar1;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006574 + iVar1;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = *(int *)(puVar8 + 0x2c3e2c);\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006574 + iVar1;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006574 + iVar1;\n  }" { (expression_statement "iVar1 = *(int *)(puVar8 + 0x2c3e2c);" (assignment_expression "iVar1 = *(int *)(puVar8 + 0x2c3e2c)" identifier = (pointer_expression "*(int *)(puVar8 + 0x2c3e2c)" * (cast_expression "(int *)(puVar8 + 0x2c3e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2c3e2c)" ( (binary_expression "puVar8 + 0x2c3e2c" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(puVar7 + 0xc);" (assignment_expression "uVar5 = *(undefined4 *)(puVar7 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(puVar7 + 0xc)" * (cast_expression "(undefined4 *)(puVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0xc)" ( (binary_expression "puVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x4a3d] = puVar7[8];" (assignment_expression "puVar6[0x4a3d] = puVar7[8]" (subscript_expression "puVar6[0x4a3d]" identifier [ number_literal ]) = (subscript_expression "puVar7[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006574 + iVar1;" (assignment_expression "*(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006574 + iVar1" (pointer_expression "*(undefined1 **)(puVar6 + 0x3b8)" * (cast_expression "(undefined1 **)(puVar6 + 0x3b8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x3b8)" ( (binary_expression "puVar6 + 0x3b8" identifier + number_literal) )))) = (binary_expression "&DAT_00006574 + iVar1" (pointer_expression "&DAT_00006574" & identifier) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar6 + 0x5a24) = uVar5;" (assignment_expression "*(undefined4 *)(puVar6 + 0x5a24) = uVar5" (pointer_expression "*(undefined4 *)(puVar6 + 0x5a24)" * (cast_expression "(undefined4 *)(puVar6 + 0x5a24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x5a24)" ( (binary_expression "puVar6 + 0x5a24" identifier + number_literal) )))) = identifier) ;) (return_statement "return &DAT_00006574 + iVar1;" return (binary_expression "&DAT_00006574 + iVar1" (pointer_expression "&DAT_00006574" & identifier) + identifier) ;) })) (expression_statement "iVar2 = *(int *)(puVar8 + 0x2c3e2c);" (assignment_expression "iVar2 = *(int *)(puVar8 + 0x2c3e2c)" identifier = (pointer_expression "*(int *)(puVar8 + 0x2c3e2c)" * (cast_expression "(int *)(puVar8 + 0x2c3e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2c3e2c)" ( (binary_expression "puVar8 + 0x2c3e2c" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 == 1) {\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006578 + iVar2;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006578 + iVar2;\n  }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n    uVar5 = *(undefined4 *)(puVar7 + 0xc);\n    puVar6[0x4a3d] = puVar7[8];\n    *(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006578 + iVar2;\n    *(undefined4 *)(puVar6 + 0x5a24) = uVar5;\n    return &DAT_00006578 + iVar2;\n  }" { (expression_statement "uVar5 = *(undefined4 *)(puVar7 + 0xc);" (assignment_expression "uVar5 = *(undefined4 *)(puVar7 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(puVar7 + 0xc)" * (cast_expression "(undefined4 *)(puVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0xc)" ( (binary_expression "puVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x4a3d] = puVar7[8];" (assignment_expression "puVar6[0x4a3d] = puVar7[8]" (subscript_expression "puVar6[0x4a3d]" identifier [ number_literal ]) = (subscript_expression "puVar7[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006578 + iVar2;" (assignment_expression "*(undefined1 **)(puVar6 + 0x3b8) = &DAT_00006578 + iVar2" (pointer_expression "*(undefined1 **)(puVar6 + 0x3b8)" * (cast_expression "(undefined1 **)(puVar6 + 0x3b8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6 + 0x3b8)" ( (binary_expression "puVar6 + 0x3b8" identifier + number_literal) )))) = (binary_expression "&DAT_00006578 + iVar2" (pointer_expression "&DAT_00006578" & identifier) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar6 + 0x5a24) = uVar5;" (assignment_expression "*(undefined4 *)(puVar6 + 0x5a24) = uVar5" (pointer_expression "*(undefined4 *)(puVar6 + 0x5a24)" * (cast_expression "(undefined4 *)(puVar6 + 0x5a24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6 + 0x5a24)" ( (binary_expression "puVar6 + 0x5a24" identifier + number_literal) )))) = identifier) ;) (return_statement "return &DAT_00006578 + iVar2;" return (binary_expression "&DAT_00006578 + iVar2" (pointer_expression "&DAT_00006578" & identifier) + identifier) ;) })) (expression_statement "pcVar9 = *(code **)(puVar8 + 0x2c3e0c);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x2c3e0c)" identifier = (pointer_expression "*(code **)(puVar8 + 0x2c3e0c)" * (cast_expression "(code **)(puVar8 + 0x2c3e0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x2c3e0c)" ( (binary_expression "puVar8 + 0x2c3e0c" identifier + number_literal) ))))) ;) (expression_statement "this = (General_options *)(*(int *)(puVar8 + 0x2c3e2c) + 0x6434);" (assignment_expression "this = (General_options *)(*(int *)(puVar8 + 0x2c3e2c) + 0x6434)" identifier = (cast_expression "(General_options *)(*(int *)(puVar8 + 0x2c3e2c) + 0x6434)" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar8 + 0x2c3e2c) + 0x6434)" ( (binary_expression "*(int *)(puVar8 + 0x2c3e2c) + 0x6434" (pointer_expression "*(int *)(puVar8 + 0x2c3e2c)" * (cast_expression "(int *)(puVar8 + 0x2c3e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2c3e2c)" ( (binary_expression "puVar8 + 0x2c3e2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar9)(this,700,*(int *)(puVar8 + 0x2c3cf8) + -0x5160,in_a3,puVar8 + 0x2cb61c);" (call_expression "(*pcVar9)(this,700,*(int *)(puVar8 + 0x2c3cf8) + -0x5160,in_a3,puVar8 + 0x2cb61c)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(this,700,*(int *)(puVar8 + 0x2c3cf8) + -0x5160,in_a3,puVar8 + 0x2cb61c)" ( identifier , number_literal , (binary_expression "*(int *)(puVar8 + 0x2c3cf8) + -0x5160" (pointer_expression "*(int *)(puVar8 + 0x2c3cf8)" * (cast_expression "(int *)(puVar8 + 0x2c3cf8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2c3cf8)" ( (binary_expression "puVar8 + 0x2c3cf8" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "puVar8 + 0x2cb61c" identifier + number_literal) ))) ;) (expression_statement "ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n            ._M_impl._M_finish;" (field_expression "ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n            ._M_impl._M_finish" (field_expression "ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n            ._M_impl" (binary_expression "ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_" (binary_expression "ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold" (binary_expression "ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold::Position_dependent_options*,_std" (assignment_expression "ppPVar3 = (this->options_stack_).\n            super__Vector_base<gold" identifier = (binary_expression "(this->options_stack_).\n            super__Vector_base<gold" (field_expression "(this->options_stack_).\n            super__Vector_base" (parenthesized_expression "(this->options_stack_)" ( (field_expression "this->options_stack_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Position_dependent_options" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Position_dependent_options" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n      ._M_impl._M_start) {\n    posdep = ppPVar3[-1];\n    (this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl._M_finish = ppPVar3 + -1;\n    copy_from_posdep_options(this,posdep);\n                    /* WARNING: Could not recover jumptable at 0x001fdd20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10);\n    return pcVar4;\n  }" if (parenthesized_expression "(ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n      ._M_impl._M_start)" ( (field_expression "ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n      ._M_impl._M_start" (field_expression "ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n      ._M_impl" (binary_expression "ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_" (binary_expression "ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold" (binary_expression "ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold::Position_dependent_options*,_std" (binary_expression "ppPVar3 !=\n      (this->options_stack_).\n      super__Vector_base<gold" identifier != (binary_expression "(this->options_stack_).\n      super__Vector_base<gold" (field_expression "(this->options_stack_).\n      super__Vector_base" (parenthesized_expression "(this->options_stack_)" ( (field_expression "this->options_stack_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Position_dependent_options" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Position_dependent_options" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    posdep = ppPVar3[-1];\n    (this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl._M_finish = ppPVar3 + -1;\n    copy_from_posdep_options(this,posdep);\n                    /* WARNING: Could not recover jumptable at 0x001fdd20. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10);\n    return pcVar4;\n  }" { (expression_statement "posdep = ppPVar3[-1];" (assignment_expression "posdep = ppPVar3[-1]" identifier = (subscript_expression "ppPVar3[-1]" identifier [ number_literal ])) ;) (expression_statement "(this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl._M_finish = ppPVar3 + -1;" (assignment_expression "(this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl._M_finish = ppPVar3 + -1" (field_expression "(this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl._M_finish" (field_expression "(this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_>\n    ._M_impl" (binary_expression "(this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold::Position_dependent_options*>_" (binary_expression "(this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std::allocator<gold" (binary_expression "(this->options_stack_).\n    super__Vector_base<gold::Position_dependent_options*,_std" (binary_expression "(this->options_stack_).\n    super__Vector_base<gold" (field_expression "(this->options_stack_).\n    super__Vector_base" (parenthesized_expression "(this->options_stack_)" ( (field_expression "this->options_stack_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Position_dependent_options" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Position_dependent_options" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "ppPVar3 + -1" identifier + number_literal)) ;) (expression_statement "copy_from_posdep_options(this,posdep);" (call_expression "copy_from_posdep_options(this,posdep)" identifier (argument_list "(this,posdep)" ( identifier , identifier ))) ;) comment comment (expression_statement "pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10);" (assignment_expression "pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10)" identifier = (cast_expression "(char *)(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar9 + 0x2c375c))(posdep,0x10)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2c375c))" ( (pointer_expression "**(code **)(pcVar9 + 0x2c375c)" * (pointer_expression "*(code **)(pcVar9 + 0x2c375c)" * (cast_expression "(code **)(pcVar9 + 0x2c375c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2c375c)" ( (binary_expression "pcVar9 + 0x2c375c" identifier + number_literal) ))))) )) (argument_list "(posdep,0x10)" ( identifier , number_literal ))))) ;) (return_statement "return pcVar4;" return identifier ;) })) (expression_statement "uVar5 = (**(code **)(pcVar9 + 0x2c7f68))(*(int *)(pcVar9 + 0x2c3d88) + 0x65cc);" (assignment_expression "uVar5 = (**(code **)(pcVar9 + 0x2c7f68))(*(int *)(pcVar9 + 0x2c3d88) + 0x65cc)" identifier = (call_expression "(**(code **)(pcVar9 + 0x2c7f68))(*(int *)(pcVar9 + 0x2c3d88) + 0x65cc)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2c7f68))" ( (pointer_expression "**(code **)(pcVar9 + 0x2c7f68)" * (pointer_expression "*(code **)(pcVar9 + 0x2c7f68)" * (cast_expression "(code **)(pcVar9 + 0x2c7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2c7f68)" ( (binary_expression "pcVar9 + 0x2c7f68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x2c3d88) + 0x65cc)" ( (binary_expression "*(int *)(pcVar9 + 0x2c3d88) + 0x65cc" (pointer_expression "*(int *)(pcVar9 + 0x2c3d88)" * (cast_expression "(int *)(pcVar9 + 0x2c3d88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x2c3d88)" ( (binary_expression "pcVar9 + 0x2c3d88" identifier + number_literal) )))) + number_literal) )))) ;) comment comment (expression_statement "pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c3d64))(uVar5);" (assignment_expression "pcVar4 = (char *)(**(code **)(pcVar9 + 0x2c3d64))(uVar5)" identifier = (cast_expression "(char *)(**(code **)(pcVar9 + 0x2c3d64))(uVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar9 + 0x2c3d64))(uVar5)" (parenthesized_expression "(**(code **)(pcVar9 + 0x2c3d64))" ( (pointer_expression "**(code **)(pcVar9 + 0x2c3d64)" * (pointer_expression "*(code **)(pcVar9 + 0x2c3d64)" * (cast_expression "(code **)(pcVar9 + 0x2c3d64)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x2c3d64)" ( (binary_expression "pcVar9 + 0x2c3d64" identifier + number_literal) ))))) )) (argument_list "(uVar5)" ( identifier ))))) ;) (return_statement "return pcVar4;" return identifier ;) })))
(translation_unit "undefined * FUN_001fdbc0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  return puVar1;\n}\n\n" (function_definition "undefined * FUN_001fdbc0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  return puVar1;\n}" type_identifier (pointer_declarator "* FUN_001fdbc0(int param_1)" * (function_declarator "FUN_001fdbc0(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  undefined *puVar1;\n  \n  if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  return puVar1;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (if_statement "if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    return PTR_s__s_004c1a50 + 0x6574;\n  }" { (return_statement "return PTR_s__s_004c1a50 + 0x6574;" return (binary_expression "PTR_s__s_004c1a50 + 0x6574" identifier + number_literal) ;) })) (if_statement "if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }" if (parenthesized_expression "(param_1 == 1)" ( (binary_expression "param_1 == 1" identifier == number_literal) )) (compound_statement "{\n    return PTR_s__s_004c1a50 + 0x6578;\n  }" { (return_statement "return PTR_s__s_004c1a50 + 0x6578;" return (binary_expression "PTR_s__s_004c1a50 + 0x6578" identifier + number_literal) ;) })) (expression_statement "puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);" (assignment_expression "puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" identifier = (cast_expression "(undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" ( (binary_expression "PTR_s__s_004c1a50 + 0x6434" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5160" identifier + number_literal) ))))) ;) (return_statement "return puVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (binary_expression IDENT + LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (binary_expression IDENT + LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined * FUN_001fdbc0(int param_1)\n\n{\n  undefined *puVar1;\n  \n  if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  return puVar1;\n}" (type_identifier "undefined") (pointer_declarator "* FUN_001fdbc0(int param_1)" (* "*") (function_declarator "FUN_001fdbc0(int param_1)" (identifier "FUN_001fdbc0") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  \n  if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }\n  if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }\n  puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);\n  return puVar1;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (if_statement "if (param_1 == 0) {\n    return PTR_s__s_004c1a50 + 0x6574;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return PTR_s__s_004c1a50 + 0x6574;\n  }" ({ "{") (return_statement "return PTR_s__s_004c1a50 + 0x6574;" (return "return") (binary_expression "PTR_s__s_004c1a50 + 0x6574" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x6574")) (; ";")) (} "}"))) (if_statement "if (param_1 == 1) {\n    return PTR_s__s_004c1a50 + 0x6578;\n  }" (if "if") (parenthesized_expression "(param_1 == 1)" (( "(") (binary_expression "param_1 == 1" (identifier "param_1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    return PTR_s__s_004c1a50 + 0x6578;\n  }" ({ "{") (return_statement "return PTR_s__s_004c1a50 + 0x6578;" (return "return") (binary_expression "PTR_s__s_004c1a50 + 0x6578" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x6578")) (; ";")) (} "}"))) (expression_statement "puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);" (assignment_expression "puVar1 = (undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" (identifier "puVar1") (= "=") (cast_expression "(undefined *)\n           (*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160)" (( "(") (binary_expression "PTR_s__s_004c1a50 + 0x6434" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x6434")) (, ",") (number_literal "700") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5160" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x5160")) () ")"))))) (; ";")) (return_statement "return puVar1;" (return "return") (identifier "puVar1") (; ";")) (} "}")))

/* 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_" */

char * var_11::type_5::function_1(type_1 var_1)

{
  int var_7;
  int var_10;
  type_2 var_14;
  char *pcVar4;
  type_3 uVar5;
  type_4 *var_9;
  type_5 *this;
  type_6 *var_6;
  type_3 in_a3;
  type_7 *posdep;
  type_4 *var_8;
  type_8 *var_16;
  
  if (var_1 == var_2) {
    return var_3 + 0x6574;
  }
  if (var_1 == var_4) {
    return var_3 + 0x6578;
  }
  var_6 = &DAT_000002bc;
  var_9 = var_3 + 0x6434;
  var_8 = PTR_do_gold_unreachable_004c1a30;
  (*(type_8 *)PTR_do_gold_unreachable_004c1a30)
            (var_9,700,var_5 + -0x5160);
  var_7 = *(int *)(var_6 + 4);
  var_9[0x2f5] = *var_6;
  var_9[0x54d] = var_6[1];
  if (var_7 == 0) {
    var_7 = *(int *)(var_8 + 0x2c3e2c);
    uVar5 = *(type_3 *)(var_6 + 0xc);
    var_9[0x4a3d] = var_6[8];
    *(type_6 **)(var_9 + 0x3b8) = &DAT_00006574 + var_7;
    *(type_3 *)(var_9 + 0x5a24) = uVar5;
    return &DAT_00006574 + var_7;
  }
  var_10 = *(int *)(var_8 + 0x2c3e2c);
  if (var_7 == 1) {
    uVar5 = *(type_3 *)(var_6 + 0xc);
    var_9[0x4a3d] = var_6[8];
    *(type_6 **)(var_9 + 0x3b8) = &DAT_00006578 + var_10;
    *(type_3 *)(var_9 + 0x5a24) = uVar5;
    return &DAT_00006578 + var_10;
  }
  var_16 = *(type_8 **)(var_8 + 0x2c3e0c);
  this = (type_5 *)(*(int *)(var_8 + 0x2c3e2c) + 0x6434);
  (*var_16)(this,700,*(int *)(var_8 + 0x2c3cf8) + -0x5160,in_a3,var_8 + 0x2cb61c);
  var_14 = (this->options_stack_).
            super__Vector_base<var_11::type_7*,var_12::allocator<var_11::type_7*>var_13>
            ._M_impl._M_finish;
  if (var_14 !=
      (this->options_stack_).
      super__Vector_base<var_11::type_7*,var_12::allocator<var_11::type_7*>var_13>
      ._M_impl._M_start) {
    posdep = var_14[-1];
    (this->options_stack_).
    super__Vector_base<var_11::type_7*,var_12::allocator<var_11::type_7*>var_13>
    ._M_impl._M_finish = var_14 + -1;
    var_15(this,posdep);
                    /* WARNING: Could not recover jumptable at 0x001fdd20. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    pcVar4 = (char *)(**(type_8 **)(var_16 + 0x2c375c))(posdep,0x10);
    return pcVar4;
  }
  uVar5 = (**(type_8 **)(var_16 + 0x2c7f68))(*(int *)(var_16 + 0x2c3d88) + 0x65cc);
                    /* WARNING: Could not recover jumptable at 0x001fdd4c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  pcVar4 = (char *)(**(type_8 **)(var_16 + 0x2c3d64))(uVar5);
  return pcVar4;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))))

undefined * MASKED(int param_1)

{
  undefined *puVar1;
  
  if (param_1 == 0) {
    return PTR_s__s_004c1a50 + 0x6574;
  }
  if (param_1 == 1) {
    return PTR_s__s_004c1a50 + 0x6578;
  }
  puVar1 = (undefined *)
           (*(code *)PTR_do_gold_unreachable_004c1a30)
                     (PTR_s__s_004c1a50 + 0x6434,700,PTR_s_in_a_linker_script_004c191c + -0x5160);
  return puVar1;
}

